2015-02-08 32 views
7

Tak na przykład celów, mam poniższej tabeli:Excel SUMIF gdy inna komórka zawiera tekst

| |  A  | B  | 
| |------------|----------| 
| 1 |Description |Amount | 
| 2 |------------|----------| 
| 3 |Item1  |  5.00| 
| 4 |Item2**  |  29.00| 
| 5 |Item3  |  1.00| 
| 6 |Item4**  |  5.00| 
| 7 |------------|----------| 
| 8 |Star Total |  34.00| 
| 9 |------------|----------| 

Chcę stworzyć formułę w B8, który oblicza sumę kwot, jeśli opis tej kwoty zawiera "**" (lub inny denotujący tekst). W tym konkretnym przykładzie chciałbym formuły, która zwraca 34, ponieważ tylko Item2 i Item4 zawierają "**".

Próbowałem użyć czegoś takiego, ale to działa tylko na podstawie wartości w A3:

=SUMIF(A3:A6, ISNUMBER(SEARCH("**", A3)), B3:B6) 

Wszelkie sugestie będą mile widziane!

+0

Nie jestem teraz blisko programu excel, ale chciałabym osiągnąć range.find? Wierzę, że zwraca zakres, jeśli został znaleziony i null, jeśli nie. – withoutIf

Odpowiedz

12

Gwiazdka jest symbolem wieloznacznym, który może być użyty w Sumif(), więc możesz chcieć zmienić oznaczający tekst na inne symbole, na przykład @@. Potem ta formuła będzie działać:

=SUMIF(A2:A10,"*@@*",B2:B10) 

enter image description here

Jeśli chcesz zachować gwiazdki, formuła staje się trochę curlier.

=SUMIF(A2:A10,"*~*~**",B2:B10) 

Dwie środkowe gwiazdki są chronione znakiem tyldy.

enter image description here

+0

To działa idealnie, dziękuję! – David

1

można uciec wieloznaczny i przekształcić go w dosłownym * poprzedzając go z wychylonego myślnikiem (tyldy, ~) i tak zostawić swoje dane niezmienione:

=SUMIF(A2:A7,"*~*~*",B2:B7) 

IMO warto ponieważ astriski są względnie "eleganckie".

+0

Wiem, że to dawno temu, ale wciąż zastanawiam się: dlaczego wysłałeś to dziesięć miesięcy po mojej odpowiedzi? Ta formuła jest również opcją w mojej odpowiedzi, zrzut ekranu i wszystko. Czy ludzie już nie czytają rzeczy? – teylyn

+0

@teylyn Mogłem przestać czytać, gdy dotarłem do '= SUMIF (A2: A10." W przeciwnym razie nie wiem (teraz). – pnuts