Увеличение значения столбца при выполнении определенных условий в Excel - PullRequest
0 голосов
/ 21 октября 2019

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

Я показал ожидаемый результат в столбцах ID и NUMBER.

Вы можете увидеть 3 набора данных, которые повторяются, это выделено столбцом ID, это значение должно увеличиваться на 1 каждые 24 строки - 63, 64, 65 - это можно сделать вручную, но если для этого есть формула, это было бы очень полезно.

Основная часть этого вопроса - это столбец NUMBER, когда столбец C меняется на 'emr_p_file'. Столбец NUMBER должен увеличиваться на 2, но когда следующая строка изменяется на 'L2_ *', тогда она должна увеличиваться только на 1.

Значения строки 1 для идентификатора и NUMBER могут быть статическими, начиная со строки 2 и далее они должны вычислятьсяпо какой-то формуле.

Возможно ли что-то подобное в Excel, если да, пожалуйста, помогите.

Экспорт CSV: link:https://pastebin.com/zkjsB9L7

enter image description here

1 Ответ

1 голос
/ 22 октября 2019

Начальный ИД и НОМЕР в ячейке F1 и G1 будут статическими, в ячейке F2 введите следующую формулу и перетащите ее вниз:

=F1+(MOD(ROW(1:1),24)=0)

логикаиспользовать функцию ROW , чтобы вернуть номер строки из предыдущей строки, и использовать функцию MOD , чтобы определить, полностью ли она делится на 24, если это так, увеличить предыдущий идентификатор на 1(который равен TRUE, возвращаемому уравнением в скобках).

в ячейке G2 введите следующую формулу и перетащите ее вниз:

=G1+IF(C2=C1,0,IF(FIND("_",C1)=3,2,1))

логика состоит в том, чтобы использовать вложенные функции IF , чтобы выяснить, совпадает ли набор данных с предыдущим набором данных, если да, возвращает 0, если нет, означает, что изменение набора данных. При следующем IF выясняется, начинается ли старый набор данных с LR или emr, если прежний возвращает 1, в противном случае 2.

Я заметил, что ваш пример начинается с Строка 49 равна НЕ , увеличивая значения в Column G: NUMBER, как предписано. Не могли бы вы уточнить, указали ли вы неверный ожидаемый результат для этих строк или есть какие-то недостающие критерии, которые вы не упомянули в своем посте?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...