為什麼我無法在 IF 語句中嵌套 SUBSTITUTE?

為什麼我無法在 IF 語句中嵌套 SUBSTITUTE?

我無法弄清楚這個公式有什麼問題:

=IF((SUBSTITUTE(ADDRESS(1,COLUMN(),4),"1",3)<Sheet2!$B$6))

實質(SUBSTITUTE(ADDRESS(1,COLUMN(),4),"1",3)上傳回目前列字母的值,例如“B”。末尾的 3 返回行號。所以總共是B3。

這是一個短日期類型的日期。然後將其與另一個日期(也是短日期類型)進行比較。

這個公式不行。當將公式更改為:

=IF((SUBSTITUTE(ADDRESS(1,COLUMN(),4),"1",3)<Sheet2!$B$6),true,false)

無論 if 條件是否滿足,它都會回傳 false。

任何幫助將不勝感激。

答案1

你需要一個「間接「。您正在將字串位址與儲存格值進行比較。

當你評估這個公式時,你基本上會得到這個 -

在此輸入影像描述

哪個評估給你這個 -

在此輸入影像描述

If(string<value, true, false)

你可以嘗試間接 -

=IF((INDIRECT(SUBSTITUTE(ADDRESS(1,COLUMN(),4),"1",3))<Sheet2!$B$6),1)

它將單元格中的值與其他單元格進行比較 -

在此輸入影像描述

答案2

在看不到您正在使用的文字的情況下Substitute,請嘗試以下任一操作:

=IF((SUBSTITUTE(ADDRESS(1,COLUMN(),4),"1","3")<Sheet2!$B$6),true,false)

=IF((SUBSTITUTE(ADDRESS(1,COLUMN(),4),1,3)<Sheet2!$B$6),true,false)

由於您正在尋找字串並用數字替換,因此它可能會讓您感到粗魯。如果沒有,您可以發布您用來替換的文字嗎?

相關內容