我有一個單元格,裡面有一個相當古老的字串。 (這是「萬智牌:聚集」法術的法力消耗。)範例為3g
、2gg
、3ur
和bg
。有 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")
應該有效。
如果需要使用通配符,可以嘗試search
用find
.
答案2
我可能是錯的,但我相信你正在尋找尋找()。
FIND( substring, string, [start_position] )
答案3
這會做:
=N(NOT(ISERR(SEARCH(C$1,$B2))))