1

我正在尝试找到一个 Excel(或 LibreOffice 或 Gnumeric)公式,该公式将使单元格使用某行显示 B 列中的值,该行由基于公式的单元格旁边的单元格中的值确定。例如,如果公式旁边的单元格是“name03”,则应将公式替换为“0.83”。

如果不是使用列 A,而是使用列名发现正确的列是 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??
4

2 回答 2

1

假设您的数据在 sheet2 中,并且您的公式在 sheet2 的单元格 B2 中,请使用此

=vlookup(A2,sheet1!$A$2:$D$10,2,0)
于 2014-11-05T19:26:34.007 回答
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))

诀窍是将每一列设置为命名范围。因此,您将命名为“名称”、“分数”、“日期”和“评论”的范围。我包括所有列只是为了完整。所以命名范围“名称”是 =Sheet1!$A$2:$A$7 等。注意:命名范围从行“2”而不是“1”开始。

因此,公式使用 INDIRECT(J1) 选择相关的命名范围,然后在该命名范围 (MATCH) 中找到 J2 中的值,然后将该行号传递给 INDEX 函数以提取由 INDIRECT 指定的列中的值(J3) 对应于该行。

因此,正如您所要求的,它动态确定要从中提取的正确列,在该列中找到行标签,然后(您没有要求这部分)动态确定,如搜索条件中指定的那样,将哪一列标记为“ReturnFromColumn”并具有应返回的值。

于 2014-11-05T19:39:14.303 回答