enter image description here

В Google Sheets

Я хочу создать систему серийной нумерации особым образом, которая удовлетворяет следующим требованиям:

  1. Серийные номера должны быть в обратном порядке (в порядке убывания).
  2. Только строки, имеющие непустое значение в столбце B, получат серийный номер.
  3. Добавление любого непустого значения в столбце B делает эту строку подходящей для наличия серийного номера. Следовательно, если оставить столбец B пустым, он удалит его серийный номер и откорректирует все серийные номера в строках выше модифицированного.

Тестовые случаи:

  1. Оставление пустой строки между заполненными строками не должно влиять на последовательность с последовательным номером.

Кто-нибудь может предоставить формулу или шаги для реализации этой функции в Google Sheets?

1
Vinay Jeurkar 16 Авг 2019 в 13:19

2 ответа

Лучший ответ

Используйте эту формулу:

=ARRAYFORMULA(IFERROR(VLOOKUP(ROW(B:B)&B:B, QUERY({SORT({ROW(
 INDIRECT("B1:B"&COUNTA(B:B))), FILTER(ROW(B:B)&B:B, B:B<>"")}, 1, 0), ROW(
 INDIRECT("B1:B"&COUNTA(B:B)))}, "select Col2,Col3", 0), 2, 0)))

0

3
player0 16 Авг 2019 в 12:35

Попробуй это:

Если вам нужно отразить алфавитный порядок столбца B:

=ArrayFormula(if(B:B<>"",counta(B:B)+1-match(B:B,sort(B:B,1,TRUE),0),))

Если вам просто нужно отразить индекс / позицию значения в столбце B:

=ArrayFormula(if(B:B<>"",counta(B:B)+1-match(B:B,filter(B:B,B:B<>""),0),))

Не уверен насчет спецификации №3, поэтому, возможно, я что-то пропустил.

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

2
Benoît Wéry 16 Авг 2019 в 14:38