標題:
[發問]
INDIRECT函數不能動態參照的問題
[打印本頁]
作者:
ziv976688
時間:
2020-12-16 20:46
標題:
INDIRECT函數不能動態參照的問題
本帖最後由 ziv976688 於 2020-12-16 20:47 編輯
[attach]32821[/attach]
[attach]32822[/attach]
=IF(MAX((COUNTIF(OFFSET($B$1,,,,COLUMN($A:$AW)),"<>")=COUNTIF($B$1:B$1,"<>"))*
$B4:$AX4
)=
B4
,
B4
,"")
想將上述陣列公式有顏色的儲存格位址以INDIRECT函數作參照,
以利公式能一式下拉達到需求結果(詳如B24:AX29的答案)。
EX︰B16
=IF(MAX((COUNTIF(OFFSET($B$1,,,,COLUMN($A:$AW)),"<>")=COUNTIF($B$1:B$1,"<>"))*INDIRECT("B"&$A16&":AX"&$A16))=
INDIRECT("B"&$A16)
,
INDIRECT("B"&$A16)
,"")
但因INDIRECT函數
不能作動態參照
,所以公式右拉填滿無效。
請問︰
B16的公式應該如何修正為宜?
謝謝!
作者:
劉大胃
時間:
2020-12-17 13:48
使用Column + Char 含數搭配不就可以了?! CHAR(66)="B" ....??
作者:
ziv976688
時間:
2020-12-17 15:51
回復
2#
劉大胃
謝謝指導!
有將
B16
公式改為
=IF(MAX((COUNTIF(OFFSET($B$1,,,,COLUMN($A:$AW)),"<>")=COUNTIF($B$1:B$1,"<>"))*INDIRECT("B"&$A16&":AX"&$A16))=
INDIRECT(CHAR(64+COLUMN(B:B))&$A16)
,INDIRECT(CHAR(64+COLUMN(B:B))&$A16)
,"")
但儲存格顯示
"#VALUE!"
不知哪裡錯了?
請賜正!謝謝!
作者:
劉大胃
時間:
2020-12-17 16:32
Here you are ~
=IF(MAX((COUNTIF(OFFSET($B$1,,,,COLUMN($A
AW)),"<>")=COUNTIF($B$1:B$1,"<>"))*INDIRECT("B"&$A16&":AX"&$A16))=INDIRECT(CHAR(64+COLUMN(B16))&$A16),INDIRECT(CHAR(64+COLUMN(B16))&$A16),"")
作者:
ziv976688
時間:
2020-12-17 17:17
回復
4#
劉大胃
謝謝回覆:D
只是
B16
儲存格也是顯示"
#VALUE!
":funk:
尚請再賜正~謝謝您:lol
作者:
准提部林
時間:
2020-12-17 19:44
本帖最後由 准提部林 於 2020-12-17 19:45 編輯
陣列公式:
=IF(MAX((SUBTOTAL(3,OFFSET($B$1,,,,COLUMN($A:$AW)))=COUNTA($B$1:B$1))*OFFSET($B$1,$A16-1,,,49))=INDEX(B$1:B$13,$A16),INDEX(B$1:B$13,$A16),"")
=IF(MAX((SUBTOTAL(3,OFFSET($B$1,,,,COLUMN($A:$AW)))=COUNTA($B$1:B$1))*OFFSET($B$1,$A16-1,,,49))=OFFSET(B$1,$A16-1,),OFFSET(B$1,$A16-1,),"")
作者:
ziv976688
時間:
2020-12-17 22:07
本帖最後由 ziv976688 於 2020-12-17 22:09 編輯
回復
6#
准提部林
准提版主:
貴公式測試成功~感恩^^
=IF(MAX((SUBTOTAL(
3
,OFFSET($B$1,,,,COLUMN($A:$AW)))=COUNTA($B$1:B$1))*OFFSET($B$1,$A16-1,,,49))=INDEX(B$1:B$13,$A16),INDEX(B$1:B$13,$A16),"")
請教貴公式中的
3
是代表什麼意思?
敬請賜教!謝謝您!
作者:
ziv976688
時間:
2020-12-18 07:00
回復
6#
准提部林
准提版主:您好!
有上Google爬文,已瞭解
3
是SUBTOTAL函數的代碼之一,也知道它的作用了。
再次感謝您的熱心指導和幫忙
作者:
ziv976688
時間:
2020-12-18 07:38
本帖最後由 ziv976688 於 2020-12-18 07:50 編輯
回復
4#
劉大胃
劉大大:您好!
雖然本發問題已解決,但還是想研習您的解題公式。
敬請指教!謝謝您
以B16
=INDIRECT(CHAR(64+COLUMN(B:B))&$A16)
或
=INDIRECT(CHAR(64+COLUMN(B16))&$A16)
測試後的結果:B16的答案都是
=58,答案正確
;
但整段陣列公式的B16(按F9檢視INDIRECT(CHAR(64+COLUMN(B16))&$A16),編輯列顯示
{58}
~
正確
);
但整段陣列公式的B16答案卻顯示"
#VALUE!
"(公式中某值資料類型錯誤)
再按F9檢視公式其它的各片段,找了許久還是不知公式中有哪一個是錯誤值
作者:
劉大胃
時間:
2020-12-18 15:26
回復
9#
ziv976688
Hello, ziv976688
沒注意到你是陣列的公式, 剛看了一下, 前後二個公式, 各自用都沒問題, 但一相乘就Fail,
或許CountIF無法使用於陣列吧?
要不然準大應該不會用CountA來做.
這是我的理解.....Thanks ~
1. (COUNTIF(OFFSET($B$1,,,,COLUMN($A:$AW)),"<>")=COUNTIF($B$1:B$1,"<>"))
2. INDIRECT("B"&$A16&":AX"&$A16))
作者:
ziv976688
時間:
2020-12-18 16:16
回復
10#
劉大胃
劉大大:您好!
謝謝您的耐心說明。
瞭解了~感恩
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)