Мне нужна помощь в автоматической нумерации электронной таблицы, в которой есть заявки от изобретателей, но в некоторых работах есть несколько человек, но их нужно пронумеровать одинаково.

например:

No.     Count     Name
0011    1         Joe
0012    0.5       Sam
0012    0.5       Alex
0013    1         Ryan

Count определяется тем , как много людей представление делится против. Number представляет представление, поэтому # 0012 - это номера Сэма и Алекса, поэтому они должны быть пронумерованы одинаково. Я надеюсь, что есть простой способ, которым я могу нумеровать рабочий лист вместо того, чтобы идти и нумеровать каждый в отдельности. Мне нужна формула, которая будет автоматически нумеровать записи Count и Name зависимости от того, повторяется ли Count .

2 ответа2

3

Вам нужно будет установить свой первый номер вручную по формуле ниже.

=TEXT(11,"0000")

В следующей ячейке ниже введите эту формулу и заполните столбец:

=IF(AND(B3=B2,COUNTIF(A$2:A2,A2)<1/B3),TEXT(A2,"0000"),TEXT(A2+1,"0000"))

снимок экрана примера листа

Это работает на идее, что единственный раз, когда вы не хотите увеличивать число, это когда число совпадает с предыдущей записью, а число, указанное выше, уже не указано в соответствующем количестве раз. (Соответствующее количество раз равно 1/Count .) Это второе условие необходимо из-за случаев, подобных строкам с 10 по 13 в примере, когда группы одинакового размера следуют друг за другом в таблице.

0

Откуда вы знаете, что Сэм и Алекс связаны с одним и тем же представлением, а не с каждым соавтором разных проектов? Вам нужна основа для группировки. Надежный способ сделать это - добавить столбец, уникальный для представления, например заголовок представления, который будет служить уникальным идентификатором. Вы сортируете список по этому вопросу. Затем увеличьте нумерацию, если уникальный идентификатор отличается от предыдущей строки.

Например, предположим, что col A является уникальным идентификатором, B является вашим номером, C является счетчиком, а D является именем, а то, что вы показываете в качестве первой строки данных (0011), является строкой 2. Общая формула, которую вы можете скопировать для всех ячеек в B (на основе B2), будет выглядеть так:

=if(row()=2,1,if(a2=a1,b1,b1+1))

Вы можете привыкнуть к форматированию, если хотите использовать начальные нули.

Это не очень хорошая практика, но если вы вручную проверяете, что список является последовательным, и это все, с чем вам нужно работать, вы можете сделать что-то вроде этого: предположим, что Col A - это ваш номер, B - счетчик, C - имя. Добавьте новый столбец D (который может быть скрыт). Снова строка 2 является первой строкой данных. Общая формула для всех ячеек в D (на основе D2) будет выглядеть так:

=if(b2=1,1,if(b1=1,b2,if(row()=2,b2,d1+b2))) 

Это определяет, когда заканчивается каждая группа отправки, если у вас есть несколько последовательных нескольких представлений.

Общая формула для вашего номера (на основе A2) будет:

=if(row()=2,1,if(d1=1,a1+1,a1))

Опять же, вы можете отформатировать, чтобы заставить ведущие нули

Редактировать: признать, что полагаться только на последовательность, в которой вы ввели данные для выполнения нумерации (мой второй пример и решение Excellll), рискованно, если есть вероятность того, что последовательность данных может измениться, например, случайной сортировкой данных , Логика нумерации развалится и даст вам неверные результаты. Включение уникального идентификатора для каждого представления обеспечивает надежный способ восстановления (просто сортировка по идентификатору).

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