Excel Formula Assist - пошук відсутніх номерів


0

У мене експортується електронна таблиця з моєї бази даних, що містить Roles і Account IDs. На ідентифікатор облікового запису є 4-5 імен ролей. Мені потрібна формула для відображення будь-яких облікових записів, які не мають ролі RBD. Хтось може допомогти?

Приклад:

Account ID   Account Name       Team        Role
1            123 AG SERVICE     National    MANG
1            123 SERVICE        National    CAP
1            123 AG SERVICE     National    RGL
1            123 AG SERVICE     National    CS
1            123 AG SERVICE     National    XSM
1            123 AG SERVICE     National    RBD
1            123 AG SERVICE     National    Q4
2            NORTHEAST INC      National    MANG
2            NORTHEAST INC      National    CAP
2            NORTHEAST INC      National    RGL
2            NORTHEAST INC      National    CS
2            NORTHEAST INC      National    XSM

Я б хотів, щоб запит відображався 2як номер рахунку, який не має ролі RBD.

Будь-яка допомога вдячна!


1
Чи можете ви включити скріншот аркуша, щоб тиждень бачив, як розташовані стовпці?
P Fitz

Просто те, що я збирався запитати. Я не можу, здається, змогти зіставити рядки в стовпці, наприклад, в останніх рядках, мабуть, немає ідентифікатора? Або "Ідентифікатор облікового запису" - це один стовпець сам по собі.
Valmiky Arquissandas

Відповіді:


0

SumProductтвій друг тут. SumProductдозволяє проводити кілька тестів на діапазон даних, рядки за рядками.

На окремій вкладці перерахуйте свої окремі ідентифікатори облікового запису у стовпці А. У стовпці B ми отримаємо підрахунок усіх рядків для кожного облікового записуIDID незалежно від формули-коефіцієнта ... на зразок =countif(Sheet1!A:A, Sheet2!A1)припущення, що у Sheet1 є ваші дані, і ми працюємо на Листі2.

У графі С розгорнемо підсумок. Ми хочемо повернути кількість рядків для кожного accountID, коли роль не дорівнює RBD. Це буде виглядати приблизно так =SUMPRODUCT((A1=Sheet1!$A$1:$A$13)*(Sheet1!$D$1:$D$13<>"RBD")*1). Це робить тестування кожної з умов в парантезах на істинне / хибне для кожного рядка в діапазоні. Потім це додавання всіх рядків, де виконувались обидві умови. Наші дві умови тут полягають у тому, що стовпець A у Sheet1 має обліковий запис, який нас цікавить, і що стовпець D у Sheet1 не містить RBD.

У стовпці D другої вкладки віднімайте стовпці C від стовпця B : =B1-C1. Якщо це не 0, у обліковому записі ID відсутній RBD.

Це все можна записати в єдину формулу, а не поширювати її на стовпчики B, C і D, як =if(countif(Sheet1!A:A, Sheet2!A1)-SUMPRODUCT((A1=Sheet1!$A$1:$A$13)*(Sheet1!$D$1:$D$13<>"RBD")*1) = 0, "", "Missing RBD!")якщо б ви перейшли до всієї стислості.

Зрештою, вам може бути просто краще робити це з SQL у вашій базі даних. Щоразу, коли ви використовуєте sumproduct (або у ньому є потреба), вам краще працювати з SQL, оскільки це більше функція типу бази даних. Щось на зразок

SELECT distinct_account_ids.Account_ID FROM (SELECT DISTINCT ACCOUNT_ID FROM <table>) as distinct_account_ids LEFT OUTER JOIN (SELECT Account_ID FROM <table> WHERE ROLES = 'RBD' GROUP BY Account_ID ) as ids_with_rbd ON distinct_account_ids.Account_id = ids_with_rbd.Account_id WHERE ids_with_rbd.Account_id is null;

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.