Excel 基于下拉选择将文本附加到单元格值
我有一个组合多个值的公式: C列中的值 如果有空格,则添加“和” 第一列中的下拉选择值 基于列中下拉选择的赋值,例如B1、C1 将B1或C1附加到C列中的值,结果显示在M列中 M列中的公式: =IFI15=卡车,清洁替代替代替代品TRIMC15,和,和,CHAR32,,IFI15=公共汽车,清洁替代品替代品TRIMC15,和,和,和,和,和,CHAR32,&B1,IFI15=汽车,清洁替代品替代品TRIMC15,和,和,和,CHAR32,&C1真正的问题是当I15为空时。使用Evaluate Formula工具运行,您应该会看到它,但是如果您将代码分解并使用缩进/新行等格式进行格式化:Excel 基于下拉选择将文本附加到单元格值,excel,excel-formula,excel-2010,Excel,Excel Formula,Excel 2010,我有一个组合多个值的公式: C列中的值 如果有空格,则添加“和” 第一列中的下拉选择值 基于列中下拉选择的赋值,例如B1、C1 将B1或C1附加到C列中的值,结果显示在M列中 M列中的公式: =IFI15=卡车,清洁替代替代替代品TRIMC15,和,和,CHAR32,,IFI15=公共汽车,清洁替代品替代品TRIMC15,和,和,和,和,和,CHAR32,&B1,IFI15=汽车,清洁替代品替代品TRIMC15,和,和,和,CHAR32,&C1真正的问题是当I15为空时。使用Evaluate F
=IF(I15="Truck",
CLEAN(
SUBSTITUTE(
SUBSTITUTE(TRIM(C15),"and ","And"), 'Should this be "and" rather than "and " to match the "Bus" and "Car"?
CHAR(32),
""
)
),
IF(I15="Bus",
CLEAN(
SUBSTITUTE(
SUBSTITUTE(TRIM(C15),"and","And"),
CHAR(32),
""
)& "B1"
),
IF(I15="Car",
CLEAN(
SUBSTITUTE(
SUBSTITUTE(TRIM(C15),"and","And"),
CHAR(32),
""
)
), 'Should this bracket be after the "C1" instead of here?
""
)& "C1"
)
)
现在,如果I15为空,则进行跟踪:I15不是卡车,I15不是总线,因此我们得到:
=IF(FALSE,
N/A,
IF(FALSE,
N/A,
IF(I15="Car",
CLEAN(
SUBSTITUTE(
SUBSTITUTE(TRIM(C15),"and","And"),
CHAR(32),
""
)
), 'Should this bracket be after the "C1" instead of here?
""
)& "C1"
)
)
将其简化,您将得到:
IF(I15="Car",
CLEAN(
SUBSTITUTE(
SUBSTITUTE(TRIM(C15),"and","And"),
CHAR(32),
""
)
),
""
)& "C1"
但是,I15是空白的,不是Car,所以它变成IFFALSE、N/A和C1-意思是,如果I15不是Bus或Truck,它将始终显示C1
另外,您可能可以将代码简化为=CLEANSUBSTITUTESUBSTITUTETRIMC15,和,和,CHAR32,&IFI15=Bus,B1,IFI15=Car,C1
如果您可以在某处设置一个表,您可以将If语句更改为VLOOKUP,或者如果您有一个下拉值表,您可以使用CHOOSEMATCH..感谢您的详细解释,您共享的简化代码非常有用。感谢你的耐心。