我正试图找到一个Excel(或LibreOffice或Gnumeric)公式,该公式将使单元格使用某行显示B列中的值,该行由基于公式的单元格旁边的单元格中的值确定。例如,如果公式旁边的单元格为"name03",则该公式应替换为"0.83"。
如果不是使用列A,而是使用列名(例如标签为"Names"的列)发现正确的列是A,那就更好了。
我不是在寻找VBA或宏,只是标准的电子表格公式。
Column A B C D
Names, Scores, Date, Comments
name01, 0.95, 20141105, "NA"
name02, 0.92, 20141105, "NA"
name03, 0.83, 20141105, "NA"
name04, 0.81, 20141105, "NA"
name05, 0.70, 20141105, "NA"
name06, 0.70, 20141105, "NA"
其他地方(可能在另一张纸上):
name03, =WHAT_FORMULA??
假设您的数据在sheet2中,并且您的公式在sheet2的单元格B2中,则使用此
=vlookup(A2,sheet1!$A$2:$D$10,2,0)
好吧,怎么样,我用设置了一个搜索条件区域
I J
1 SearchInHeader Names
2 RowLabel name03
3 ReturnFromColumn Scores
4 ReturnedValue 0.83
"J4"中的公式为:
=INDEX(INDIRECT(J3),MATCH(J2,INDIRECT(J1),0))
诀窍是将每列设置为一个命名范围。因此,您将命名为"名称"、"分数"、"日期"one_answers"注释"的范围。我把所有的专栏都包括在内,只是为了完整。所以命名范围"Names"是=Sheet1$A$2:$A$7等。注意:命名范围以行"2"而非"1"开头。
因此,该公式使用INDIRECT(J1)来选择相关的命名范围,然后在J2中找到该命名范围中的值(MATCH),然后将该行号传递给INDEX函数,以提取由INDIRECT指定的列中与该行对应的值(J3)。
因此,正如您所要求的,它会动态地确定要从中提取的正确列,在该列中找到行标签,然后(您没有要求这一部分)根据搜索条件中的指定,动态地确定哪一列被标记为"ReturnFromColumn"并具有应返回的值。