Mam arkusz kalkulacyjny z danymi w tym formacie:
User | Group | ParentGroup | ID
joe | US fed grp | fed | 123
bill | dev | IT | 234
jim | UK fed grp | fed | 345
Potrzebuję formuły, która przeszukałaby kolumny Grupy i Grupy nadrzędnej w całym arkuszu i podała całkowitą liczbę wierszy zawierających „wprowadzone”
W powyższym przykładzie formuła zwróci 2 (nie 4, czyli tyle razy, gdy „podany” pojawia się w całym arkuszu). 2 to liczba wierszy, w których pojawia się „karmiony”.
próbuję
=COUNTIF(1:4, "*" & "fed" & "*")
ale zwraca 4 (chcę 2)
microsoft-excel
Krondorian
źródło
źródło
A27:A36&B27:B36&....
sposób. Szkoda,COUNTIF
że nie pozwala na łączenie takich zakresów, rozwiązałoby to znacznie prościej.Odpowiedź z jedną komórką:
To policzy liczbę komórek, które zawierają
fed
, a następnie odejmie jeden dla każdego wiersza zawierającego dwie komórkifed
. Jest to dość proste, ale nie daje się dobrze skalować (np. Masz 6 kolumn i chcesz policzyć liczbę wierszy, które zawierająfed
w każdym z nich)Aktualizacja: wersja skalowalna
To mnie naprawdę wkurzyło, więc trochę kopałem i wymyśliłem tę formułę tablicową :
Ważna uwaga: jest to formuła tablicowa, więc musisz nacisnąć CTRL+ ALT+ ENTER, zamiast pisać ENTERlub klikać poza komórką. Można powiedzieć, czy zrobiłeś to dobrze, ponieważ formuła będzie widoczny
{
i}
wokół niego (a wynik będzie zawsze wynosić 0, jeśli nie).Możesz teraz rozwinąć to, aby wziąć dowolną liczbę kolumn, dodając kolejną
+ ISNUMBER(SEARCH("fed", X1:X4))
do funkcji. Możesz określić przeszukiwanie całej kolumny, używającX:X
, gdzieX
jest literą kolumny, ale w zależności od systemu, który może zacząć działać wolno. Miałem zauważalne opóźnienie w przeszukiwaniu całej kolumny, ale zmieniłemX1:X100
ją na natychmiastową. Wierzę, że będziesz musiał ustawić ten sam zakres dla wszystkich kolumn (np. Nie możesz miećB:B
iC1:C10
), ale nie przetestowałem go.źródło
Oto jak to rozwiązałem.
Jeśli w kolumnie B jest grupa, kolumna C to grupa rodzicielska, aw I2 słowo, którego szukasz, w twoim przypadku karmione.
Utwórz kolejną kolumnę o nazwie FED, wprowadź tę formułę i pociągnij w dół arkusza. = JEŻELI (LUB (DOKŁADNIE (B2; $ I $ 2); DOKŁADNIE (C2; $ I $ 2)); 1; 0)
Za pomocą tego otrzymasz numer 1, nawet jeśli w każdym rzędzie jest mało „nakarmionych”.
Następnie zsumuj kolumnę FED.
Przesłałem rozwiązanie.
źródło
Uważam, że Davidenko ma rację, sugerując, że potrzebujesz do tego kolumny pomocniczej. Sugeruję, że formuła w, powiedzmy, komórce
S2
, mogłaby być podobnaKtóry oceni TRUE jeśli
B2
lubC2
zawiera „karmione”, wielkość liter ma znaczenie. WymieńSEARCH
sięFIND
jeśli chcesz test liter. Jeśli chcesz, aby szukany tekst pochodził z komórki, możesz to zrobić na przykład za pomocąJeśli trzeba sprawdzić kolumny
A
iD
też je dodać.Byłby to szybki i brudny skrót
ale to zliczałoby wiersze, w których wartość w kolumnie
B
kończyła się na „f”, a wartość w kolumnieC
zaczynała się na „ed”. Aby to naprawić, idź z czymś takimKolejny,
S
powyżej), przeciągając ją w dół izrób coś takiego
Możesz też użyć jednej z typowych sztuczek, aby przekonwertować wartości w kolumnie
S
na 1 i 0, a następnieSUM
(jak sugerował Davidenko).źródło
zakładając, że obie kolumny mają wartość „karmione”
źródło