我在Excel中导入了word文件。该文件位于A列,最多400-500行。举例说明:
Type application
0 shortcut
1 Client installation (standalone)
0 Client installation with data on the network (fileshare needed)
0 Client/server (server needed)
0 Webbased without dependancies
0 Webbased with dependancies
Importancy
0 Company critical
1 Important
0 Supportive
还有许多其他感兴趣的领域。现在我有一个搜索以获取特定文本值的公式,例如“产品经理”和返回下面的值(名称)。举例说明:
=INDEX(A:A;MATCH("Product manager";A:A;0)+2;1)
此处,+ 2返回产品经理的名称。
问题我需要您的帮助!
问题如下。在上面的大块代码中,您会看到一个位值,其中1与单词文件中单击的复选框相对应。现在我想搜索类型应用程序和仅返回与1对应的值,因此在这种情况下 1客户端安装(独立)。
使用INDEX和MATCH的上述解决方案不起作用,因为它只返回以下搜索查询的某一行(所以行+1,或行+5)。我想找到值类型应用程序,在它下面的6行中搜索并返回它将找到的唯一值。
答案 0 :(得分:1)
Following the example of my more illustrious colleagues, I have started trying to use INDEX for this sort of question, so the answer would be something like this:-
=INDEX(INDEX(B$1:B$10,MATCH(D2,B$1:B$10,0)):B$10,MATCH(1,INDEX(A$1:A$10,MATCH(D2,B$1:B$10,0)):A$10,0))
so it finds the string (e.g. charlie) in column B, and searches the rest of the range in column A for a '1'.
上的click()方法如果所有值都在问题中的一列中,则公式变为
=INDEX(INDEX(A$1:A$10,MATCH(D2,A$1:A$10,0)):A$10,
MATCH("1*",INDEX(A$1:A$10,MATCH(D2,A$1:A$10,0)):A$10,0))
限制范围和错误处理应该是这样的: -
=IFERROR(
INDEX(INDEX(A:A,MATCH(D2,A:A,0)):
INDEX(A:A,MATCH(D2,A:A,0)+4),
MATCH("1*",INDEX(A:A,MATCH(D2,A:A,0)):
INDEX(A:A,MATCH(D2,A:A,0)+4),0)),
"No entry")
如果您想以相同的方式搜索多个列,可以使用相同类型的公式,但如果不使用帮助列则不实用。所以将它复制到(例如)两列,然后显示第一个匹配。
在E2中设置搜索的开始: -
=MATCH(D2,A$1:A$20,0)+1
F2中的搜索结束可能只是E2 + 4,但您也可以使用以下方式搜索下一个“子标题”: -
=MATCH(1,INDEX((INDEX(A$1:A$20,E2):A$20>"2")+(INDEX(A$1:A$20,E2):A$20=""),),0)+E2-2
在G2中搜索以“1”开头的单元格: -
=IFERROR(MATCH("1*",INDEX(A$1:A$20,$E2):INDEX(A$1:A$20,$F2),0),"")
然后进入H2和I2。
获取J2中三场比赛的第一场: -
=MIN(G2:I2)
并在K2中找到它适用的列: -
=IF(J2=0,"",MATCH(J2,G2:I2,0))
最后使用J2和K2中的行和列获取匹配的单元格: -
=IF(K2="","No entry",INDEX(INDEX(A$1:A$20,E2):C$20,J2,K2))
答案 1 :(得分:0)