在Excel中,我查看了hlookup
,vlookup
,match
和index
,但这些功能都没有关注:
我需要在A1:Z1
中找到一个文本值并获取它的列。例如,我在F1
中找到了值,然后我想要一个结果F:F
。
编辑:这是我希望将其添加到的功能:
=COUNTIFS(Source!B:B;Result!C3;Source!AT:AT;Result!$D$2)
我需要Source!B:B
,或者Source!AT:AT
是一个搜索函数,它在不同工作表(源)中的表格行和列中查找特定值。
答案 0 :(得分:5)
INDEX函数可以返回整列,例如假设您要在A1中搜索“x”:Z1尝试
=INDEX(A:Z;0;MATCH("x";A1:Z1;0))
注意:这不会返回像F:F这样的文本字符串,它会返回对相关列的引用,您通常会在需要整列引用的函数中使用该引用,例如: SUM,SUMIF,LOOKUP等。
已编辑:您可以在COUNTIFS函数中使用上述内容:
=COUNTIFS(INDEX(Source!A:Z;0;MATCH("x";Source!A1:Z1;0));Result!C3;Source!AT:AT;Result!$D$2)
这使得第一个范围动态(在A列和Z列之间 - 根据需要延伸)基于在Source!A1:Z1中首次找到“x”的位置,例如如果在J1中首次找到“x”,则COUNTIFS使用Source!J:J作为第一个范围 - 您可以对COUNTIFS中的任何范围执行此操作
答案 1 :(得分:2)
您可以使用此功能(它将返回E:E
,然后您可以使用INDIRECT
返回可用范围)。这使用“单词”作为匹配的单词并在第一场比赛时停止:
=SUBSTITUTE(
ADDRESS(1,MATCH("words",$A$1:$Z$1,0),4),"1",
":"&
SUBSTITUTE(ADDRESS(1,MATCH("words",$A$1:$Z$1,0),4),"1",""))
这可以通过MATCH
使用ADDRESS
查找范围内的匹配项位置(在本例中为5),然后使用row_num
,column_num
= 1和{{ 1}} =匹配的结果。对4
参数使用abs_num
可确保返回的值不会出现$
。然后,用“:”替换1
中的E1
,并将其与相同的公式连接起来,将E:E
作为字符串。然后,您可以根据该范围(使用INDIRECT
)进行查找,例如: