有条件地显示具有匹配值的单元格的行中的值
Posted
技术标签:
【中文标题】有条件地显示具有匹配值的单元格的行中的值【英文标题】:Conditionally show a value from a row that has a cell in it with a matching value 【发布时间】:2014-11-05 19:04:36 【问题描述】:我正在尝试找到一个 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??
【问题讨论】:
【参考方案1】:假设您的数据在 sheet2 中,而您的公式在 sheet2 的单元格 B2 中,请使用此
=vlookup(A2,sheet1!$A$2:$D$10,2,0)
【讨论】:
【参考方案2】:好的,怎么样,我设置了一个搜索条件区域:
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”并具有应返回的值。
【讨论】:
以上是关于有条件地显示具有匹配值的单元格的行中的值的主要内容,如果未能解决你的问题,请参考以下文章
基于在 Excel 中的每一行中为不确定的行数确定的值的条件格式