繁体   English   中英

使用公式引用单元格的行值

[英]Referencing a cell's row value using a formula

假设我的 excel 表如下所示:

姓名 房屋 拥有的汽车 D列
约翰 3 3 =A&MAX(30,3)
哈利 2 4 ..
维克 5 1 ..
.. p ķ ..
... q n ..

在 D 列中,我想返回 A 列中对应于单元格 B2 和 C2 中两个值中较大者的行。 所以在单元格 D2 中,我想返回“Vik”,因为 B2 (3) 和 C2 (3) 中的两个值中较大的一个是 3。单元格 A3 中的值是 Vik。

所以为了得到我的结果,我会在 D2 中输入类似 ="A"&MAX(B2,C2) 的内容。

但是假设我的公式要复杂得多,并且数据不同。

=IFERROR(ArrayFormula(ADDRESS(MAX(index(IF($A$1:$D6=B7,ROW($A$1:$D6),""),,IF($A$1:$D6=B7,COLUMN($A$1:$D6)),"")),MAX(IF($A$1:$D6=B7,COLUMN($A$1:$D6),"")))),"")

我想要公式的第一块的结果(从 ADDRESS() 开始)

MAX(index(IF($A$1:$D6=B7,ROW($A$1:$D6),"") (例如3 )作为输入的行号

MAX(IF($A$3:$D3=B7,COLUMN($A$1:$D6),""))用于 IF 条件内的范围。

(注意 $A$1:$D6 如何更改为 $A$3:$D6)

因此,按照上面的表格示例,我只需输入MAX(IF("$A$"&MAX(index(IF($A$1:$D6=B7,ROW($A$1:$D6),""):$D6=B7,COLUMN($A$1:$D6),""))这应该可以解决问题。除非它没有,我得到一个我无法解决的公式解析错误。

这是我正在处理的特定 excel 表: https://docs.google.com/spreadsheets/d/12U8U7Jp4FscobIvgr4_sADJB_oSdIHrboCk02cxFscobIvgr4_sADJB_oSdIHrboCk02cxFsshare=u0

谁能看到我做错了什么? 我认为解决方案应该足够简单,但我似乎无法弄清楚。

对不起,如果它有点长,但我已经为此苦苦挣扎了一段时间。

我希望这个公式会有所帮助

=ARRAYFORMULA(IFNA(VLOOKUP(QUERY(TRANSPOSE(QUERY(TRANSPOSE(B2:C6);"select "&JOIN(",";"max(Col"&row(B2:C6)-1&")")));"select Col2+1 label Col2+1''");{row(A:A)\A:A};2;False)))

在此处输入图像描述

使用间接 function 和 & 连接解决。

新的 function 将是: =IFERROR(ArrayFormula(ADDRESS(MAX(index(IF($A$1:$D6=B7,ROW($A$1:$D6),""),,IF($A$1:$D6=B7,COLUMN($A$1:$D6),""))),MAX(IF(INDIRECT("$A$"&(MAX(index(IF($A$1:$D6=B7,ROW($A$1:$D6),""))))):$D6=B7,COLUMN($A$1:$D6),"")))),"")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM