У меня есть клетка с довольно архаичной строкой. (Это мана-стоимость Магии: заклинание Сбор). Примерами являются 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)
.