У меня есть электронная таблица, в которой столбцы могут иметь значения среди набора строк, например, столбец Income может иметь значения, такие как: High, Low, Medium и т.д. Как узнать, какие уникальные строки есть в значениях столбца и как заменить эти строки с номером в Excel?
2 ответа
Чтобы получить количество ячеек с указанной строкой, используйте следующие формулы:
=COUNTIF(B1:B4; "High")
=COUNTIF(B1:B4; "Medium")
=COUNTIF(B1:B4; "Low")
Настройте диапазон в первом аргументе в соответствии с вашими потребностями.
В ячейке с одной из этих формул будет отображаться количество ячеек с указанным текстом.
Чтобы преобразовать текст в число, вы можете использовать команду « Найти и заменить» (нажмите Ctrl+H) или временный столбец с формулой:
=IF(B1="High";3;IF(B1="Medium";2;1))
Настройте B1
на первую ячейку, а затем перетащите автозаполнение, чтобы скопировать формулу в другие строки.
Чтобы найти уникальные данные, выполните действия, описанные в статье « Фильтр уникальных значений» :
- Выберите диапазон ячеек или убедитесь, что активная ячейка находится в таблице.
- На вкладке « Данные » в группе « Сортировка и фильтр » нажмите « Дополнительно».
- В диалоговом окне « Расширенный фильтр » выполните одно из следующих действий:
- Чтобы отфильтровать диапазон ячеек или таблицы на месте, нажмите « Фильтровать список» на месте.
- Чтобы скопировать результаты фильтра в другое место, сделайте следующее:
- Нажмите Скопировать в другое место.
- В поле « Копировать в» введите ссылку на ячейку.
- Установите флажок « Только уникальные записи» и нажмите « ОК».
В качестве альтернативы вы можете использовать подход из ответа на Получение уникальных значений в Excel, используя только формулы, что описано в следующей статье: Создать уникальный отдельный список по алфавиту, извлеченный из столбца в Excel
Вам нужно будет сделать это в VBA:
- Объявить новый словарь
For..Next
по клеткам вы считаете- Если словарь еще не содержит значение, добавьте его вместе с порядковым номером в качестве ключа
For..Next
через клетки снова- Заменить значения в соответствии со словарем
У меня нет времени на написание кода, но я уверен, что это указывает на решение.