Excel索引匹配 - 如果以某个字母开头,则仅返回值

时间:2018-01-05 09:48:59

标签: excel excel-formula

我有一个索引匹配公式但是我只需要显示结果是否以某个字符开头。

我目前的公式是:

 =INDEX('1'!E10:E205,MATCH(B36,'1'!G10:G205, 0))

然而,当返回值(在E10:E205中)列时,我只需要显示它是否以'x'开头。

我只是无法弄清楚去哪里,所以任何帮助将不胜感激! 感谢

2 个答案:

答案 0 :(得分:2)

这是你的意思吗?

=IF(LEFT(INDEX('1'!E10:E205,MATCH(B36,'1'!G10:G205,0)),1)="x",INDEX('1'!E10:E205,MATCH(B36,'1'!G10:G205,0)),"")

答案 1 :(得分:0)

=INDEX('1'!E10:E205,MATCH(B36,'1'!G10:G205, 0))

好的,那么当前返回的行号是'1'!GB36匹配的时间。您想在行号上添加另一个逻辑,偏移到INDEX(索引位置)的开头。有几种方法可以做到这一点:

首先,您可以为MATCH一起构建两列的字符串,以评估和使用通配符:

=INDEX('1'!E10:E205,MATCH("x*"&B36,'1'!E10:E205&'1'!G10:G205, 0))

*通配符将允许任意数量的任何字符,以便您获得所需内容。

另一种方法是使用SMALL(IF())构建一个索引位置数组并返回第n个最小值:

=INDEX('1'!E10:E205,SMALL(IF(LEFT('1'!E10:E205,1)="x",IF('1'!G10:G205=B36,ROW('1'!G10:G205)-9)),ROW(10:10))) - 这是一个数组公式; Ctrl + Shift + 输入但仍在公式栏中