我需要评估一个 11 位数字的数字列。如果数据以等于特定数值的前 5 位数字开头,则我需要返回特定的文本值。如果数据以另一个特定的 5 位数字开头,则我需要返回不同的文本值。我有 3 个特定值需要确定,但将来还会有更多值
答案1
答案2
Scott Craner 的答案很有效,但既然您要求使用 IF() 的公式,我将把这个放入其中。
您可以通过嵌套语句来实现这一点IF()
。流程IF()
如下:
IF(
“某些比较的结果要么为 TRUE,要么为 FALSE,”如果“该怎么办TRUE
”,如果“该怎么办FALSE
”)
因此,您将测试第一个字符串,如果找到匹配项,则返回文本值。如果未找到匹配项,则运行另一个IF()
来查找第二个。并继续该逻辑,直到满足所有条件。因此,您最终会得到以下结果:
=IF(VALUE(LEFT(C2,5))=$A$2,"四",IF(VALUE(LEFT(C2,5))=$A$3,"三",IF(VALUE(LEFT(C2,5))=$A$4,"二","无匹配")))
这是一个更易读的版本,使逻辑更加明显。
=IF(VALUE(LEFT(C2,5))=$A$2,
"Fours",
IF(VALUE(LEFT(C2,5))=$A$3,
"Threes",
IF(VALUE(LEFT(C2,5))=$A$4,
"Twos",
"No match")
)
)
答案3
您可以使用 Vlookup,像这样编写数组:
第一个五位数字值1
第二个五位数字值2
第三个五位数字值3
您可以根据需要添加任意数量,没有限制,假设该数组的引用是 $A1:$B3,它应该是绝对引用来固定数组。
如果您的数字在 C 列,请在 D 中写入以下内容:
=IFERROR(VLOOKUP(VALUE(LEFT(C1,5)),$A$1:$B$3,2,FALSE),"")