Share via

Порядковый номер по двум условиям

Anonymous
2023-07-24T11:12:40+00:00
Имя первое посещение порядковый номер посещения
Иван 1 1
Андрей 1 1
Кирил 1 1
Алексей 1 1
Иван 2
Алексей 2
Кирил 2
Андрей **** 2
Алексей 1 1
Андрей **** 3
Иван 1 1
Андрей 1 1
Как правильно составить формулу? <br><br>Задача:ЕСЛИв диапазоне ИМЯ=Андрей и в диапазонеПЕРВОЕ ПОСЕЩЕНИЕ=1, то ПОРЯДКОВЫЙ НОМЕР=1, ИНАЧЕ = предыдущее значение (ПОРЯДКОВЫЙ НОМЕР;АНДРЕЙ) +1
Microsoft 365 and Office | Excel | For home | Windows

Locked Question. This question was migrated from the Microsoft Support Community. You can vote on whether it's helpful, but you can't add comments or replies or follow the question.

0 comments No comments

3 answers

Sort by: Most helpful
  1. Anonymous
    2023-07-25T07:38:33+00:00

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

    Для достижения желаемой функциональности мы можем использовать комбинацию функций ЕСЛИ, ИНДЕКС, СОВПАДЕНИЕ и СЧЁТЕСЛИ. Измененная формула будет вычислять порядковый номер для каждого имени на основе условия «Первое посещение», независимо от порядка в списке.

    Предполагая, что ваши данные начинаются с ячейки A2, а ваш «Порядковый номер» будет вычисляться в столбце C, вот обновленная формула для ячейки C2:

    =ЕСЛИ(B2=1; СЧЁТЕСЛИ($A$2:A2;A2), ИНДЕКС($C$1:C1;ПОИСКПОЗ(A2;$A$1:A1;0)) + 1)

    Позвольте мне объяснить, как работает эта формула:

    ЕСЛИ (B2 = 1): Эта часть формулы проверяет, равно ли «Первое посещение» в ячейке B2 1.

    СЧЁТЕСЛИ($A$2:A2,A2): В этой части подсчитывается количество вхождений текущего имени (ячейки A2) из ячейки A2 в текущую строку. Если «Первое посещение» равно 1 (т. е. это первое посещение с таким именем), он присвоит порядковый номер в качестве счетчика.

    ИНДЕКС($C$1:C1, ПОИСКПОЗ(A2;$A$1:A1,0)) + 1: Если это не первое посещение (B2 ≠ 1), формула использует функции ИНДЕКС и ПОИСКПОЗ, чтобы найти предыдущий порядковый номер для этого конкретного имени. Он ищет имя (A2) в диапазоне A1:A1 и возвращает соответствующий порядковый номер из C1:C1. Затем он добавляет 1 к этому значению, чтобы вычислить новый порядковый номер.

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

    Пожалуйста, попробуйте эту обновленную формулу, и если у вас возникнут какие-либо проблемы или возникнут дополнительные вопросы, не стесняйтесь, дайте мне знать. Я здесь, чтобы помочь вам в дальнейшем.

    Всего хорошего

    Иван

    Этот ответ был автоматически переведен.В результате могут быть грамматические ошибки или некорректные выражения?

    Was this answer helpful?

    1 person found this answer helpful.
    0 comments No comments
  2. Anonymous
    2023-07-25T07:09:35+00:00

    Дякую, але задача в тому, щоб ця функція працювала для кожного імені в діапазоні А:А . Так як імена в списку в хаотичному порядку (залежно від дати відвідування) то формула не працює в тому вигляді .

    Was this answer helpful?

    0 comments No comments
  3. Anonymous
    2023-07-24T11:48:57+00:00

    Здравствуйте, ЭлинаОмельченко,

    Меня зовут Иван, и я буду рад помочь вам с вашим вопросом. На этом форуме мы такие же потребители Microsoft, как и вы.

    Я понимаю, что вам нужна помощь в создании формулы для расчета порядкового номера на основе двух условий: «Имя» и «Первое посещение».

    Для этого мы можем использовать функцию ЕСЛИ в сочетании с функциями ИНДЕКС и ПОИСКПОЗ, чтобы найти предыдущее значение порядкового номера для каждого имени и соответственно вычислить новый порядковый номер.

    Предположим, что столбец «Имя» находится в столбце А, а столбец «Первое посещение» — в столбце Б. «Порядковый номер» будет вычисляться в столбце C. Вот формула, которую вы можете использовать в ячейке C2:

    =ЕСЛИ(И(A2="Боб";B2=1), 1;ЕСЛИ(A2=A1;C1+1;1))

    Эта формула проверяет, является ли имя «Боб» и первое посещение 1 в ячейках A2 и B2 соответственно. Если оба условия выполнены, он присвоит порядковый номер как 1. В противном случае он проверит, совпадает ли имя в ячейке A2 с именем в предыдущей строке (ячейка A1). Если он совпадает, он добавит 1 к предыдущему порядковому номеру (ячейка C1); в противном случае он присвоит порядковый номер как 1.

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

    Надеюсь, это поможет! Если у вас есть дополнительные вопросы или вам нужна дополнительная помощь, пожалуйста, не стесняйтесь спрашивать.

    Всего хорошего

    Иван

    Этот ответ был автоматически переведен.В результате могут быть грамматические ошибки или некорректные выражения?

    Was this answer helpful?

    0 comments No comments