Saya memiliki spreadsheet yang diekspor dari basis data saya yang berisi Role
dan Account ID
s. Ada 4-5 nama peran per ID akun. Saya perlu rumus untuk menampilkan akun apa pun yang tidak memiliki peran RBD
. Adakah yang bisa membantu?
Contoh:
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
Saya ingin kueri ditampilkan 2
sebagai nomor akun yang tidak memiliki peran RBD
.
Bantuan apa pun dihargai!
microsoft-excel
worksheet-function
Andi McLaughlin
sumber
sumber
Jawaban:
SumProduct
apakah temanmu disiniSumProduct
memungkinkan Anda untuk melakukan beberapa tes pada berbagai data, baris demi baris.Pada tab terpisah, daftarkan ID akun Anda yang berbeda di Kolom A. Di Kolom B kami akan mendapatkan jumlah semua Baris untuk setiap AkunID terlepas dari dengan rumus yang berbeda ... seperti
=countif(Sheet1!A:A, Sheet2!A1)
dengan asumsi Sheet1 memiliki data Anda, dan kami sedang mengerjakan Sheet2.Di kolom C kami akan menyebarkan produk. Kami ingin mengembalikan jumlah baris untuk setiap akunID di mana Peran tidak sama dengan RBD. Ini akan terlihat seperti
=SUMPRODUCT((A1=Sheet1!$A$1:$A$13)*(Sheet1!$D$1:$D$13<>"RBD")*1)
. Apa yang dilakukan adalah menguji masing-masing kondisi dalam tanda kurung untuk benar / salah untuk setiap baris dalam rentang. Maka itu menambah semua baris di mana kedua kondisi itu benar. Dua syarat kami di sini adalah bahwa Kolom A di Sheet1 memiliki AccountID yang kami minati dan Kolom D di Sheet1 tidak mengandung RBD.Di Kolom D pada tab kedua Anda, kurangi Kolom C dari Kolom B:
=B1-C1
. Jika ini bukan 0, maka ID akun hilang RBD.Ini semua bisa ditulis ke dalam satu formula bukannya menyebarkannya di kolom seperti B, C, dan 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!")
jika Anda ke hal singkat keseluruhan.Anda mungkin, pada akhirnya, lebih baik melakukan ini dengan SQL pada database Anda. Setiap kali Anda menggunakan sumproduct (atau membutuhkannya), Anda lebih baik menggunakan SQL karena ini lebih merupakan fungsi tipe basis data. Sesuatu seperti
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;
sumber