Excel 相當於 java 的 String.contains(String otherString)

Excel 相當於 java 的 String.contains(String otherString)

我有一個單元格,裡面有一個相當古老的字串。 (這是「萬智牌:聚集」法術的法力消耗。)範例為3g2gg3urbg。有 5 個可能的字母 ( g w u b r)。我有 5 列,想在底部計算每列包含多少個。所以我的電子表格可能看起來像這樣

  A                   B        C  D  E  F  G
 +--------------------------------------------
1|Name                Cost     G  W  U  B  R
2|Centaur Healer      1gw      1  1  0  0  0
3|Sunspire Griffin    1ww      0  1  0  0  0 // just 1, even though 1ww
4|Rakdos Shred-Freak  {br}{br} 0  0  0  1  1

基本上,我想要一些看起來像這樣的東西=if(contains($A2,C$1),1,0),我可以將它拖曳到所有 5 列和所有 270 張卡片上。 (順便說一下,這些都是實際數據。它不是被嘲笑的:-)。

在Java中我會這樣做:

String[] colors = { "B", "G", "R", "W", "U" };
for(String color : colors) {
    System.out.print(cost.toUpperCase().contains(color) ? 1 : 0);
    System.out.print("\t");
}

使用Excel 2010有沒有這樣的狀況?

我嘗試使用find()並且search()如果顏色存在的話它們效果很好。但如果顏色不存在,它就會返回#value- 所以我得到的1 1 #value #value #value不是1 1 0 0 0例如 Centaur Healer(第 2 行)。使用的公式是if(find($A2,C$1) > 0, 1, 0).

答案1

類似的東西=IF(ISERROR(FIND("text", A1)), "false", "true")應該​​有效。

如果需要使用通配符,可以嘗試searchfind.

答案2

我可能是錯的,但我相信你正在尋找尋找()

FIND( substring, string, [start_position] )

答案3

這會做:

=N(NOT(ISERR(SEARCH(C$1,$B2))))

相關內容