Excel: Dynamicznie wyodrębniaj wartości rozdzielane przecinkami i zwracaj wartość dodaną z osobnej listy

0

Mam sytuację, w której użytkownik dostarczy oddzielony przecinkami zestaw liczb i wypełni osobną listę kosztów wyszukiwania. Gdy użytkownik wprowadzi wartości, oddzielna komórka zwróci to, co byłaby całkowita wartość, wygląda mniej więcej tak:

[Wartości wejściowe użytkownika] [Zwracana wartość dodana kosztów]

Komórki wyszukiwania kosztów

  1. 100 USD
  2. 200 USD
  3. 300 USD
  4. 400 USD itp

Przykładem danych wejściowych użytkownika może być: [1, 4], które powinny zwrócić [500 $]

Obecnie utknąłem na nieokreślonej liczbie przecinków do przeczytania. Może nie mieć danych wejściowych bez przecinków, które powinny zwrócić wartość 0 USD, lub może to być 200 różnych wartości oddzielonych przecinkami (lub przecinkiem i spacją, jak w powyższym przykładzie).

Mój proces myślenia polegał na tym, aby wziąć wartości rozdzielone przecinkami i podzielić każdą liczbę na nową komórkę, a następnie użyć WYSZUKAJ.PIONOWO, aby uzyskać kwotę kosztu, i dodać wszystko, aby uzyskać wartość zwracaną. To wszystko działałoby, gdybym mógł uzyskać jakąś formułę, aby rozbić nieokreśloną liczbę wartości oddzielonych przecinkami. Coś jak:

wprowadź opis zdjęcia tutaj

Czy jest to w ogóle możliwe w przypadku formuł? Użytkownik nie powinien nic robić poza wypełnianiem komórek wyszukiwania i wprowadzaniem potrzebnych liczb.

Ashton Fraess
źródło

Odpowiedzi:

0

Ta formuła tablicowa działa z liczbami dla CO# ciągu JEŻELI, a następnie musisz usunąć --formułę.

Umieść to w D2:

=IF(LEN($E$1)-LEN(SUBSTITUTE($E$1,",",""))+1>=ROW($A1),INDEX(A:A,MATCH(--TRIM(MID(SUBSTITUTE($E$1,",",REPT( " ",99)),(ROW($A1)-1)*99+1,99)),$A:$A,0)),IF(ROW($A1)=LEN($E$1)-LEN(SUBSTITUTE($E$1,",",""))+2,IF(COLUMN(A$1) = 1, "$",SUM(INDEX($B:$B,MATCH(N(IF(1,--TRIM(MID(SUBSTITUTE($E$1,",",REPT( " ",99)),(ROW(INDEX($AAB:$AAB,1):INDEX($AAB:$AAB,LEN($E$1)-LEN(SUBSTITUTE($E$1,",",""))+1))-1)*99+1,99)))),$A:$A,0)))),""))

Potwierdź za pomocą Ctrl-Shift-Enter zamiast Enter. Następnie skopiuj jedną kolumnę i dół w sposób wystarczający do obsługi wszystkich potrzebnych wierszy.

W zależności od tego, gdzie znajduje się na liście, różne instrukcje JEŻELI, podzieli ciąg i zwróci wszystkie części do MATCH, co z kolei zwróci wszystkie lub jedną względną lokalizację do INDEKSU. Następnie sumuje wszystkie części lub zwraca poprawną pojedynczą wartość.

W razie potrzeby automatycznie zmieni rozmiar.

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj

Scott Craner
źródło
Wow, nie mogę powiedzieć, że rozumiem wszystko, co zrobiłeś z tą formułą ... ale robi to dokładnie tak, jak potrzebuję. Niektóre mają sens, ale jest to intensywne. Czy byłoby możliwe uzyskanie awarii, aby dowiedzieć się, co się dzieje? Użyłem tego w połączeniu z = WYSZUKAJ (2,1 / (E: E <> ""), E: E), aby złapać całkowitą wartość i użyć jej gdzie indziej w moim pliku. Dziękuję Ci bardzo.
Ashton Fraess,
wybierz komórkę z formułą i użyj formuły oceny na karcie formuł. przejdzie przez formułę.
Scott Craner,