[英]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
誰能看到我做錯了什么? 我認為解決方案應該足夠簡單,但我似乎無法弄清楚。
對不起,如果它有點長,但我已經為此苦苦掙扎了一段時間。
使用間接 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.