Mam taki stół:
a | tomato
b | pear
c | tomato
d | pear
Chciałbym stworzyć formułę, która pozwoli mi wybrać, które wiersze zawierają pomidory, a które zawierają gruszkę. więc wynikiem wzoru będzie „a, c” dla zapytania o pomidor i „b, d” dla zapytania o gruszkę pomidorową.
czy można to zrobić w programie Excel (a jeśli tak, to w jaki sposób?)
Dziękuję Ci!
CONCAT()
lubTEXTJOIN()
. Nie są wymagane dodatkowe kolumny ani VBA. (O ile oczywiście nie masz programu Excel 2016).Odpowiedzi:
Można to osiągnąć bez VBA przy użyciu
TEXTJOIN()
funkcja wprowadzona w programie Excel 2016. Jeśli nie masz tej wersji programu Excel, możesz zainstalować UDF z wypełnieniem. Dostarczyłem podstawowy na końcu tej odpowiedzi.Array - wprowadź następującą formułę w
E2
:Wstępnie sformułowana formuła jest następująca:
Uwagi:
Moja wersja
TEXTJOIN()
poliwęglanowy UDF:Uwagi:
#VALUE!
błąd.źródło
Pomocna może być funkcja zdefiniowana przez użytkownika.
Wyobraź sobie, że masz kolejne dane w arkuszu:
Otwórz edytor VBA (Alt-F11). Włóż nowy moduł (Insert - Module). Wstaw poniższy kod do niego:
Zamknij edytor VBA.
Przejdź do arkusza roboczego. Wstaw wartość „pomidor” do komórki D1.
Wybierz komórkę E1. Wstaw poniższą formułę:
Wartość komórki E1 to „a, c”. Zmień wartość D1 na „gruszka” - wartość E1 zmieni się. Zmień wartość D1 na „jabłko” - wartość E1 zmieni się na pusty ciąg.
źródło