У меня есть ситуация, когда пользователь предоставит разделенный запятыми набор чисел и заполнит отдельный список затрат на поиск. После того, как пользователь введет значения, отдельная ячейка вернет значение, которое будет иметь общее значение, выглядит примерно так:

[Пользовательские значения ввода] [Возвращаемое значение добавленной стоимости]

Стоимость поиска ячеек

  1. $ 100
  2. $ 200
  3. $ 300
  4. 400 долларов и т.д.

Примером пользовательского ввода может быть:[1, 4], который должен вернуть [$ 500]

В настоящее время я застрял на получении неопределенного числа запятых для чтения. Он может не иметь ввода без запятых, которые должны возвращать $ 0, или это может быть 200 различных значений, разделенных запятыми (или запятая и пробел, как в примере выше).

Мой мыслительный процесс состоял в том, чтобы взять значения, разделенные запятыми, и разбить каждое число на новую ячейку, затем использовать VLOOKUP, чтобы получить сумму затрат, и сложить все это, чтобы получить возвращаемое значение. Это все сработало бы, если бы я мог получить формулу для выделения неопределенного числа значений, разделенных запятыми. Что-то вроде:

Это возможно даже с формулами? Пользователь не должен ничего делать, кроме заполнения ячеек поиска и ввода того, что ему нужно.

1 ответ1

0

Эта формула массива работает с числами для строки CO# IF, после чего необходимо удалить -- в формуле.

Поместите это в 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)))),""))

Подтвердите с помощью Ctrl-Shift-Enter вместо Enter. Затем скопируйте один столбец вниз, чтобы обработать все необходимые строки.

В зависимости от того, где в списке находятся различные операторы IF, он разбивает строку и возвращает на или все части в MATCH, который, в свою очередь, возвращает все или одну относительную позицию в INDEX. Затем он либо суммирует все части, либо возвращает правильное единственное значение.

Это будет автоматически размер по мере необходимости.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .