1

Допустим, я в колонке 6, строка 10.

Данные столбца 4 представляют собой одну букву на ячейку, что-то вроде этого: a, b, a, c, d, e, b, c, f, d

Я хочу формулу, которая ищет значение столбца 4, строка 10 ... получает d.

Затем проверяет, содержит ли более ранняя ячейка d ... в этом случае да, в строке 5.

Затем идет к столбцу 2, строке 10, и получает значение там ... скажем, 15.

Затем идет к столбцу 2, строке 5, и получает значение там ... скажем, 5.

Затем выполняется расчет (15-5) и вставляется значение 10 в столбец 6 строки 10.

Возможно ли это в Excel?

Было бы здорово, если бы это можно было сделать.

Спасибо.

3 ответа3

1

Для этого решения добавляется один фиктивный столбец (G:G).

Формула:
G1 содержит =B1 для копирования значения в правую часть столбца D (для vlookup). Скопируйте его в G2:G10

F1 содержит =B1-VLOOKUP(D1,D:G,4,FALSE) . Скопируйте его в F2:F10 . Вычитает значение первой подходящей строки из B1.
(Примечание: 4 означает, что столбец G является 4-м столбцом в диапазоне D:G)

   |   A   |   B   |   C   |   D   |   E   |   F   |   G   
---+-------+-------+-------+-------+-------+-------+-------
 1 |       |       |       |   a   |       |     0 |     0 
 2 |       |       |       |   b   |       |     0 |     0 
 3 |       |       |       |   a   |       |     0 |     0 
 4 |       |       |       |   c   |       |     0 |     0 
 5 |       |     5 |       |   d   |       |     0 |     5 
 6 |       |       |       |   e   |       |     0 |     0 
 7 |       |       |       |   b   |       |     0 |     0 
 8 |       |       |       |   c   |       |     0 |     0 
 9 |       |       |       |   f   |       |     0 |     0 
10 |       |    15 |       |   d   |       |    10 |    15 

Приведенный выше метод вычисляет Value of current row - Value of the FIRST MATCHING ROW независимо от того, есть ли 1 "d", 2 "d", 3 "d" или более.

Как упомянуто @hyperslug, пожалуйста , уточните:

  • Что делать, если есть 3 "д"?
  • Что делать, если есть только 1 "д"?
0

Итак, просто чтобы уточнить.

Для какой-либо строки с определенным значением в ней выполнить математический расчет и вывести ответ в конце строки?

Будет ли когда-либо только две буквы, которые одинаковы для каждой ячейки, и всегда ли это наибольшее число ячеек минус наименьшее число ячеек.

Если это так, то это должно быть достаточно просто, при условии, что вы можете сначала отсортировать по букве, а затем по индексу (для сортировки по индексу нужно иметь только 1,2,3 ... n+1 в качестве столбца. Таким образом, у вас будет что-то вроде. a, a, b, b, c, c, d, d, e, e, f, f Я не на 100% по синтаксису Excel, но, надеюсь, это даст вам стартер на 10.

0

Я бы разбил проблему и использовал бы несколько дополнительных столбцов для промежуточных шагов, как вы и объясняете. Затем вы можете скрыть промежуточные вычисления или объединить их в одну большую сложную формулу, если это необходимо.

Итак, начиная с 7-го столбца, далеко от того места, где вы хотите получить ответ, и предполагая, что вы хотите иметь дело только с первым появлением, G10:

= ПОИСКПОЗ (D10, D $ 1:D9,0)

H10:

= OFFSET(В10, G10-СТРОКА (G10), 0)

Тогда F10 может быть:

= В10-Н10

Соединение это дает одну формулу:

= В10-OFFSET(В10, MATCH(D10, D $ 1:D9,0)-строка (В10), 0)

Если вы не хотите ошибок, вы можете обернуть все в функцию IFERROR .

Более элегантно, и если вы хотите удалить все вхождения "d", или есть только одно вхождение, вы можете использовать формулу:

= В10-СУММЕСЛИМН ($ B $ 1: В9, $ D $ 1: D9, D10)

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