2012-07-06 75 views
1

假設我想測試單元格A1中的第一個字母是否爲「A」。簡化a = Mid()公式

= MID(A1,1,1)= 「A」

現在讓我們說,我想找出如果任一單元格A1的第一或第四個字母是 「A」。

我還以爲你能像這樣:

= MID(A1,或(1,4),1)= 「A」

而不必這樣做的:

= IF

(MID(A1,1,1)= 「A」,TRUE,IF(MID(A,4,1)= 「A」,TRUE,FALSE)!)

我在正確的軌道上嗎? 我可以讓公式更簡單嗎?

+0

另一種好方法是使用正則表達式。但是這需要在VBA中添加參考。 – Margus 2012-07-06 03:15:02

回答

4

使用這個公式,=OR(MID(A2,{1,4},1)="A")但輸入爲「數組公式」。即,按Ctrl + Shift + Enter,而不是像往常一樣輸入。

+0

適合我。如果我想改變輸出,我只是把它放在前面,並在結束時放入數值。 – 2012-07-06 03:12:41

+1

+1 .....但是,一般來說,使用「{1,4}」這樣的「數組常量」的公式不需要數組輸入 - 因此這不需要CTRL + SHIFT + ENTER。如果以某種方式或從單元格引用計算「{1,4}」,那麼您可以如果Z1包含1且Z2包含4,則此版本= = OR(MID(A2,Z1:Z2,1)=「A」)需要CTRL + SHIFT + ENTER以在所有情況下給出正確結果 – 2012-07-06 10:20:29

+0

@barryhoudini,didn'我知道關於數組常量的事情,謝謝! – yosukesabai 2012-07-06 14:16:47

1

你可以使用和功能

=OR(Mid(A1, 1, 1)="A",Mid(A1, 4, 1)="A") 

並且接受邏輯輸入測試,和他們之間的所有返回「與」運算

然後,你只需要使用它的IF

編輯: 考慮到評論,你應該使用功能分隔符考慮你的小數點分隔符。 由於您應該使用逗號作爲小數點分隔符,因此您需要使用分號來分隔函數的參數。在這種情況下,假設您使用句點分隔十進制數字,您將使用逗號分隔函數的參數。 感謝您的意見。 (遺憾的英語不好)

+0

你的分號不應該是逗號嗎? – 2012-07-06 03:04:02

+0

AND接收由分號分隔的邏輯值。考慮到MID會返回一個邏輯值,需要一個「;」以稍後收到其他MID /邏輯值 – 2012-07-06 03:06:19

+0

至少,在我的Excel 2007西班牙語(剛剛打開)需要一個分號,而不是一個逗號 – 2012-07-06 03:06:55

1

OR功能需要在外面:

=OR(MID(A1, 1, 1)=」A」, MID(A1, 4, 1)=」A」)