Mam arkusz, który wygląda tak:
Chcę (automatycznie) utworzyć macierz, która wygląda tak:
Jaki jest najlepszy sposób osiągnięcia tego celu?
Mam arkusz, który wygląda tak:
Chcę (automatycznie) utworzyć macierz, która wygląda tak:
Jaki jest najlepszy sposób osiągnięcia tego celu?
Odpowiedzi:
Jest to łatwe do zrobienia za pomocą formuł.
Dla uproszczenia umieściłem matrycę
do kolumn C
- N
(i nie tylko) podstawowego arkusza roboczego;
przeniesienie go na inny arkusz (strona / karta) jest banalne.
To jest praca dla SEARCH
funkcjonować,
który szuka jednego ciągu w innym, jak „anty” w „szalonym”.
Użyjemy go do wyszukania każdej indywidualnej własności
(„Środek przeciwbólowy”, „antybakteryjny” itp.) Na liście właściwości
(„Antyseptyczne, przeciwgrzybicze, przeciwbólowe, przeciwnowotworowe itp.”). SEARCH
zwraca pozycję podciągu -
na przykład, SEARCH("anti", "frantic")
zwraca 3,
ponieważ „a” jest trzecią postacią „szalonego”.
Nie dbamy o to; zależy nam na tym, że
jeśli pierwszy ciąg jest obecny w drugim, SEARCH
zwraca liczbę,
w przeciwnym razie zwraca błąd.
Więc jeśli to zrobimy ISERROR(SEARCH(C$1, $B2))
do komórki C2
,
zwraca FAŁSZ, jeśli „antyseptyczny” ( C1
) znajduje się na liście właściwości
dla lawendy ( B2
) i PRAWDA inaczej.
Więc
=IF(ISERROR(SEARCH(C$1, $B2)), "", "x")
wyświetla x
jeśli właściwość znajduje się na liście i jest pusta, jeśli nie jest.
Ale to nadmierne uproszczenie. Jeśli lista właściwości zawiera „antybakteryjne (mocne)”, wtedy poszukiwanie „antybakteryjnego” się powiedzie. Twoja ilustracja żądanej macierzy sugeruje, że nie chcesz, aby tak się stało. Istnieje standardowa sztuczka: szukaj „antybakteryjnych” (z przecinkami na początku i na końcu), znaleźć „antybakteryjne” jako kompletny wpis na liście. Ale to nie pasuje jeśli „antybakteryjny” jest pierwszym lub ostatnim wpisem na liście - więc dodajemy przecinki także na początku i na końcu listy.
Więc, połóż =IF(ISERROR(SEARCH(", "&C$1&",", ", "&$B2&",")), "", "x")
do komórki C2
i przeciągnij w dół iw prawo:
X
s, a następnie możesz rozwiązać go również za pomocą formuł.