Oldukça arkaik bir String'e sahip bir hücrem var. (Bir Magic mana maliyeti var: The Gathering büyü.) Örnekleri 3g
, 2gg
, 3ur
, ve bg
. 5 olası harf vardır ( g w u b r
). 5 sütunum var ve altta her birinin kaç tane içerdiğini saymak istiyorum. Yani elektronik tablom böyle görünebilir
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
Temel olarak, benzeyen bir şey istiyorum =if(contains($A2,C$1),1,0)
ve bunu 5 sütunun tümüne ve 270 bazı kartların altına sürükleyebilirim. (Bu gerçek veriler, bu arada. Bu alay değil :-).)
Java'da bunu yapardım:
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'u kullanırken böyle bir şey var mı.
Kullanmayı denedim find()
ve search()
eğer renkler varsa harika çalışıyorlar. Ama eğer renk yoksa, geri döner #value
- bu yüzden örneğin Centaur Healer (satır 2) 1 1 #value #value #value
yerine alıyorum 1 1 0 0 0
. Kullanılan formül öyleydi if(find($A2,C$1) > 0, 1, 0)
.
search
bunun yerine kullandımfind
. Aradaki farkın ne olduğundan hala emin değilim, ama bu benim amaçlarım için işe yarıyor.