Як я рахую різні значення / символи у стовпці комірок?


0

У мене є повне ім’я та адреса клієнта в одній клітинці, наприклад;
Mr Smith, 1 High Street, London NW12 1AB

У таблиці я маю сотні імен, адреси та поштових індексів, які мені потрібно шукати та фільтрувати за прізвищем, назвою вулиці та поштовим індексом.

Я намагаюся визначити та підрахувати кількість клієнтів на кожній вулиці та поштовий індекс. Наприклад, скільки клієнтів у нас у SE12, а також скільки клієнтів у NW12 1AB? Я думаю, моя проблема полягає в пошуку кожної комірки за трьома різними бітами інформації.

Мені також потрібно визначити ту саму інформацію у двох електронних таблицях. Наприклад, скільки у нас містера Сміта в двох електронних таблицях. Скільки клієнтів на Хай-стріт або один і той же поштовий індекс з’являються в обох електронних таблицях.

Я не чувак в Excel, і я не ображаюся, якщо ви будете тримати мову дуже просто.


Ви маєте всі свої дані в одній комірці. Чи можете ви зробити кожну інформацію в іншому стовпчику? Скажімо, стовпці: Name, Streetі Postal Code.
Математика

Ви можете використовувати текст до стовпців для розбору комірок у різні стовпці, а потім сортування.
Raystafarian

@Raystafarian, так, це можливо, але я хочу знати, чи з ним все в порядку. але якщо його немає, я не можу побачити рішення
Математика

Відповіді:


0

Як зазначає Math, ви можете мати більшу гнучкість, якщо перетворюєте свої дані в окремі стовпці. Цього можна легко досягти за допомогою Text to Columnsкоманди на Dataвкладці з типом даних, встановленим Delimitedта роздільником Comma.

Незважаючи на те, що зовсім не складно визначити кількість клієнтів за вулицею або поштовим індексом, а також фільтрувати клієнтів на конкретних вулицях, поштові індекси та прізвища без перетворення даних у стовпці.

Скажіть, що у вас є дані в діапазоні A2: A500 в Sheet1 і той самий діапазон у Sheet2, і обидва аркуші знаходяться в одній робочій книжці.

Щоб підрахувати кількість клієнтів у поштовому індексі "NW12 1AB" у Sheet1, використовуйте формулу:

=COUNTIF(Sheet1!$A$2:$A$500, "*NW12 1AB*")

Для підрахунку кількості "Смітів" у Sheet1 та Sheet2 використовуйте:

=COUNTIF(Sheet1!$A$2:$A$500,"*Smith*") + COUNTIF(Sheet2!$A$2:$A$500,"*Smith*")

Для підрахунку кількості "Grimes" у поштовому індексі "NW12 1AB" використовуйте:

=COUNTIFS(Sheet1!$A$2:$A$500,"*Grimes*", Sheet1!$A$2:$A$500,"*NW12 1AB*")

Для підрахунку кількості клієнтів у Sheet2, яких назвали "Salton" або проживають на вулиці "High", використовуйте:

=COUNTIF(Sheet2!$A$2:$A$500,"*Salton*") + COUNTIF(Sheet2!$A$2:$A$500,"*High Street*") -
 COUNTIFS(Sheet2!$A$2:$A$500,"*Salton*", Sheet2!$A$2:$A$500,"*High Street*")

Щоб відфільтрувати Sheet1, щоб отримати Смітів, які живуть з поштовим індексом "NW12 1AB",

  • Виділіть діапазон даних A2: A500 та виберіть Sort & Filter-> Filterна Homeвкладці стрічки,

  • Виберіть Text Filter-> Custom Filterзі спадного меню вгорі стовпця.

  • Потім встановіть вхідні поля на Contains"Smith" та Contains"NW12 1AB".

Ви обмежені встановленням двох умов за допомогою цього методу.

Якщо ви хочете відфільтрувати список і має більше двох умов (або комбінацію умов And і Or), виділіть діапазон даних і натисніть Advancedна Sort & Filterрозділі вкладки даних.

Вам буде запропоновано діапазон списку та діапазон критеріїв.

Оскільки Advancedфільтр створює копію відфільтрованого списку, вам також буде запропоновано записувати, де ви хочете записати новий, відфільтрований список.

Ось приклад діапазону критеріїв, який фільтрує список для всіх Смітів, які живуть на "High Street":

введіть тут опис зображення

Зауважте, що використання "* Smith *" в якості шаблону для прізвища Сміт може виявитися не найкращим вибором: як зазначає один з коментаторів, воно буде відповідати прізвищу на кшталт Смітсон (або як Smith-Jones) та адресі вулиці, як Smithsonian Way.

Кращим візерунком буде "* Smith, *, *, *". Навіть це дало б те, що можна вважати помилковим позитивом щодо імені "Дональд Сміт-молодший". (Ця назва також спричинить проблеми для перетворення тексту в стовпець, використовуючи кому як роздільник.)

Той факт, що Excel розпізнає лише два підмітні знаки "*" та "?", Не маючи такої семантики з регулярними виразами, означає, що результати подібного зіставлення потрібно перевірити на особливі випадки.


Зауважте, що клієнти, яких звуть Смітсон або які живуть на Smithsonian Way, дадуть помилкові позитиви.
Скотт

Що це за "AC2"? Друкарська помилка для "A $ 2"?
Скотт

Так, @Scott, друкуючи за $ 2. Так, " Smith " буде відповідати вашим прикладам, а також "Smith-Jones"; "* Smith, *" виправить ті, але не буде "Сміт-молодший". (ні з тексту до стовпців). Дані імені та адреси такого типу зазвичай потребують декількох пропусків, щоб охопити всі варіанти.
чаф

0

Якщо ви не хочете підробляти наявні дані, ви можете витягнути три поля в стовпчики-помічники за допомогою рядкових формул Excel. Якщо припустити повне ім’я та адресу вашого клієнта у комірці A1, налаштуйте

  • B1 - =FIND(",", A1)
  • C1 - =TRIM(LEFT(A1, B1-1))
  • D1 - =FIND(",", A1, B1+1)
  • E1 - =TRIM(MID(A1, B1+1, D1-B1-1))
  • F1 - =TRIM(RIGHT(A1, LEN(A1)-D1))

Потім для наведених прикладів даних ви отримаєте такі результати:

  • B1 - 9
  • C1 - Mr Smith
  • D1 - 24
  • E1 - 1 High Street
  • F1 - London NW12 1AB

TRIM()Опцію, щоб видалити пробіли з початку і кінця рядка. Без цієї функції, якщо у ваших вихідних даних є пробіли після коми, тоді E1і F1на початку будуть пробіли, які можуть зіпсувати подальший аналіз.  TRIM()також згортаються кілька пробілів до одиничних просторів; наприклад, якби ваші вихідні дані сказали Mr   Smith, то B1все одно було б Mr Smith.

Якщо деякі A1значення мають менше або більше двох коми, це може бути оброблено складнішими рішеннями.


Використовуйте функцію обрізання, щоб обрізати будь-які провідні чи кінцеві пробіли.
wbeard52

@ wbeard52: Готово. (D'oh!)
Скотт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.