Excel equivalente ao String.contains do Java (String otherString)

Excel equivalente ao String.contains do Java (String otherString)

Eu tenho uma célula que possui uma String bastante arcaica. (É o custo de mana de um feitiço Magic: the Gathering.) Exemplos são 3g, 2gg, 3ure bg. Existem 5 letras possíveis ( g w u b r). Tenho 5 colunas e gostaria de contar na parte inferior quantas de cada uma contém. Minha planilha pode ficar assim

  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

Basicamente, eu quero algo que se pareça =if(contains($A2,C$1),1,0)e possa arrastá-lo por todas as 5 colunas e para baixo em todos os 270 cartões. (A propósito, esses são dados reais. Não são ridicularizados :-).)

Em Java eu ​​faria isso:

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

Existe algo assim no uso do Excel 2010.

Eu tentei usar find()e search()eles funcionam muito bem se a cor existir. Mas se a cor não existir, ela retorna #value- então recebo 1 1 #value #value #valueem vez 1 1 0 0 0de, por exemplo, Centaur Healer (linha 2). A fórmula usada foi if(find($A2,C$1) > 0, 1, 0).

Responder1

Algo parecido com =IF(ISERROR(FIND("text", A1)), "false", "true")deveria funcionar.

Se precisar usar curingas, você pode tentar searchem vez de find.

Responder2

Posso estar errado, mas acredito que você está procurandoencontrar().

FIND( substring, string, [start_position] )

Responder3

Isso fará:

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

informação relacionada