這就是我拍攝的目的:
=IF(LEFT(Q3,2)="By","參見授權實驗室"&"-"&SUM(Q3-L3))
我想說的是,如果 Q3 說“通過”,則返回“參見授權實驗室”,如果不是,則從 Q3 中減去 L3(兩個單元格都是日期)並返回過去的天數。
答案1
看起來單元格Q3
的格式為By [date]
。 Excel 將此視為文字值,而不是日期值。因此,你不能做類似的事情Q3-L3
。我猜這就是令人困惑的地方。在我們討論這些之前,讓我們先清理一下你的公式。我思考你想要任何一個顯示文字“請參閱授權實驗室”或者顯示預計需要多少天才能準備好。如果是這樣的話,公式應該是
=IF(LEFT(Q3,2)="By", "See authorizing lab", Q3-L3)
現在,對於這一Q3-L3
部分,我們需要從文字值中提取日期值。有一個函數可以做到這一點。由於我們想要跳過前 3 個字元 ( By
),因此我們也將使用該MID
函數。
DATEVALUE(MID(Q3,4,LEN(Q3)))
這將提取以第四個字元開頭的所有文本,並嘗試將其轉換為日期值。將其代入公式的其餘部分即可得出:
=IF(LEFT(Q3,2)="By", "See authorizing lab", DATEVALUE(MID(Q3,4,LEN(Q3)))-L3)
答案2
你當然可以做到這一點,沒有理由不能在同一個IF
函數中包含文字和數學。
您的範例不遵循函數的格式IF
,即:
=IF(logical_test, value_if_true, value_if_false)
也就是說,您需要用逗號分隔每個部分。所以你的程式碼應該是:
=IF(LEFT(Q3,2)="By", "see authorizing lab", Q3-L3)
SUM
(此外,除非您嘗試新增一系列數字,否則無需使用該函數。)