返回列表 上一主題 發帖

[發問] 以銷售資料之(交易日期+帳號)查找當時的帳號使用者

[發問] 以銷售資料之(交易日期+帳號)查找當時的帳號使用者

本帖最後由 infoverdad 於 2015-4-3 23:50 編輯

1. 資料說明
取得之銷售資料僅有交易日期+帳號,欲查詢該筆交易是哪一位同仁經手的?
表1: 整理後之帳號歷史清單 (即某帳號歷任經手者姓名及使用日期起迄區間)
帳號歷史.png
2015-4-3 23:30


表2: 交易日期+帳號 (欲以公式查詢帳號歷史清單,將結果帶入[帳號使用者姓名]欄位)
查詢帳號使用者.png
2015-4-3 23:31


2. 自行嘗試的結果(目前暫用方法有二):
方法1: =VLOOKUP($D4,INDIRECT("帳號歷史!$B$"&$A4&":$D$"&$B4),3,1)  
方法2: =LOOKUP($D4,INDIRECT("帳號歷史!$B$"&$A4&":$B$"&$B4),INDIRECT("帳號歷史!$D$"&$A4&":$D$"&$B4))
其中INDIRECT("帳號歷史!$B$"&$A4&":$D$"&$B4)等表達方式為各帳號之起迄清單範圍

3. 想請問是否有更簡潔方便的方法?
測試檔 查詢帳號使用者.rar (9.51 KB)

回復 1# infoverdad

工作表1, E5 輸入公式後, 向下複製 :

=LOOKUP(D5,OFFSET(帳號歷史!A$1,MATCH(C5,CODE,),1,COUNTIF(CODE,C5)),OFFSET(帳號歷史!A$1,MATCH(C5,CODE,),3,COUNTIF(CODE,C5)))

TOP

回復 2# JBY


    非常感謝,這個方法最方便了!
    順便把四種方法整理起來如附件
查詢帳號使用者共4種方法.rar (11.21 KB)

TOP

本帖最後由 JBY 於 2015-4-4 23:39 編輯
回復  JBY
    非常感謝,這個方法最方便了!
    順便把四種方法整理起來如....



更簡單方法 :

=LOOKUP(2,1/((CODE=C5)/(SDATE<=D5)),Seller)

TOP

回復 4# JBY


    哇!這個公式更方便,不管帳戶歷史清單有沒有依日期排序,都能得到正確結果。非常感謝您, 這個真的很讚!
再加入我的收集中
查詢帳號使用者共5種方法.rar (12.71 KB)

TOP

本帖最後由 infoverdad 於 2015-4-5 01:47 編輯
更簡單方法 :

=LOOKUP(2,1/((CODE=C5)/(SDATE
JBY 發表於 2015-4-4 23:38


請問JBY大大
(CODE=$C5)/(SDATE<=$D5)中使用除號是否有特別的意義?
試著改為(CODE=$C5)*(SDATE<=$D5) ? 結果並無不同

TOP

本帖最後由 JBY 於 2015-4-5 22:17 編輯
請問JBY大大
(CODE=$C5)/(SDATE<=$D5)中使用除號是否有特別的意義?
試著改為(CODE=$C5)*(SDATE<=$D5) ? 結果並無不同


=LOOKUP(2,1/(CODE=C5)/(SDATE<=D5),Seller)

=LOOKUP(2,1/(CODE=C5)*(SDATE<=D5),Seller)

公式中使用 " / " 除號, 或者  " * " 乘號, 結果都是一樣的, 並無不同。

只是想表現一点"與眾不同", 其實 Excel 也可以"玩" !

再次, 公式還可以改用 " + " 加號, 你设法思考 !

TOP

=LOOKUP(2,1/(CODE=C5)/(SDATE<=D5),Seller)

=LOOKUP(2,1/(CODE=C5)*(SDATE<=D5),Seller)


更正

漏去 "…1/(……)"

=LOOKUP(2,1/((CODE=C5)/(SDATE<=D5)),Seller)

=LOOKUP(2,1/((CODE=C5)*(SDATE<=D5)),Seller)

TOP

回復 7# JBY


    瞭解!謝謝JBY大的補充!學習了。

TOP

        靜思自在 : 君子如水,隨方就圓,無處不自在。
返回列表 上一主題