商品订单打印模板html,【EXCEL】如何制作订单单据查询与打印模板?
摘要:
昨天有個同事讓村長幫忙設置幾個公式?,需求是這樣子的,有一個訂單的明細表(真實數據涉及私密,以下數據純屬我后來虛擬的)她需要根據這個訂單明細做一個單據查詢(打印)的模板,如下圖(虛擬)填寫單據號后自動帶出客戶名稱、發貨日期、發貨倉庫及發貨的明細,其中根據單據號查詢客戶名稱、發貨日期、發貨倉庫比較簡單,就是普通的VLOOKUP查詢就可以了,這里簡單寫一下公式客戶名稱=IFERROR(VLOOKUP(C2,訂單明細!$A$1:$D$381,4,0),"")發
昨天有個同事讓村長幫忙設置幾個公式?,需求是這樣子的,有一個訂單的明細表(真實數據涉及私密,以下數據純屬我后來虛擬的)
她需要根據這個訂單明細做一個單據查詢(打印)的模板,如下圖(虛擬)
填寫單據號后自動帶出客戶名稱、發貨日期、發貨倉庫及發貨的明細,其中根據單據號查詢客戶名稱、發貨日期、發貨倉庫比較簡單,就是普通的VLOOKUP查詢就可以了,這里簡單寫一下公式
客戶名稱
=IFERROR(VLOOKUP(C2,訂單明細!$A$1:$D$381,4,0),"")
發貨日期
=IFERROR(VLOOKUP(C2,訂單明細!$A$1:$B$381,2,0),"")
發貨倉庫
=IFERROR(VLOOKUP(C2,訂單明細!$A$1:$C$381,3,0),"")
接下來主要講解一下怎么根據訂單號查詢相應的訂單明細,對實際業務了解的人都知道,一張訂單里面一般只有一個客戶、一個發貨日期,一個發貨倉庫,但是一張訂單卻可能會有多個產品,這個時候我們就不能簡單的用VLOOKUP函數進行查詢了,因為VLOOKUP函數用得是遍歷法查找,只會自上而下查找到第一個符合條件的結果然后結束查找,不能查詢到所有的結果,那么我們要怎么做呢?
首先我們可以在訂單明細里面設置一列輔助列,訂單明細J列是金額,那么我們就把J列右邊那一列K列作為輔助列,K2單元格輸入公式并下拉
=COUNTIF($A$2:A2,A2)&A2
效果如下圖所示
這么做的用途是將單據號變成唯一,原來一個單據號對應多個產品明細,現在我們根據產品明細的個數給單據號編號,將不唯一變成了唯一,接下來就是簡單的條件查詢了,這里我們用INDEX+MATCH這對黃金組合函數做一下
B6單元格輸入公式
=IFERROR(INDEX(訂單明細!E$1:E$381,MATCH(ROW(A1)&$C$2,訂單明細!$K$1:$K$381,0)),"")
然后將公式右拉下拉,效果如下圖所示
正常來說需求到這里就結束了,可是村長總覺得很不對勁,為什么呢?因為一般單據號比較長我們很難記住,也不容易輸入,只能從其他地方把單據號復制過來,這樣使用體驗就很不好了,那么我們是否可以反過來想一下,如果可以通過名稱帶出單據信息是不是更好一點呢?可是一個客戶有多張訂單,輸入客戶之后Excel怎么知道我們想查詢哪一張訂單呢?
我們再來想一下,如果我們能輸入客戶后,帶出這個客戶的所有單據號,然后單據號字段那里可以通過數據有效性進行選擇,這樣是不是可以呢?說做就做
首先,單據查詢表里面的I列作為輔助列,查詢指定客戶的所有訂單列表,公式如下
=IFERROR(INDEX(訂單明細!A:A,SMALL(IF((訂單明細!$D$1:$D$381=$F$2)*(MATCH(訂單明細!$A$1:$A$381,訂單明細!$A$1:$A$381,0)=ROW($1:$381)),ROW($1:$381),9^9),ROW(A1))),"")
效果如下圖所示
然后J1單元格輸入公式統計客戶的訂單總數
=SUMPRODUCT(N(I2:I13<>""))
接著我們需要打開“公式”選項卡,選擇“名稱管理器”,新建一個定義名稱,名稱設為“單據號”(可自定義),然后引用位置輸入如下公式
=OFFSET($I$1,1,,$J$1)
最后我們選中C2單元格(單據號),打開“數據”選項卡,選擇“數據驗證”(13版本以下叫數據有效性),允許處選擇“序列”,來源輸入“=單據號”,保存即可。
做完以上操作已經大功告成,接下來我們通過下面兩張截圖對比看一下成果:
好久沒有寫Excel相關的教程了,一個是工作確實有點忙,再就是也想騰點時間學習一下新知識(Python),今天實在忍不住了所以就寫一下,希望能對大家有所幫助,由于篇幅有限,寫得太多也不知道大家喜不喜歡,所以有些優化的地方這里沒有接著寫,例如:
1、可以用幾句VBA代碼加一個按鈕設置一鍵打印單據;
2、還可以把查詢客戶所有單據號的輔助列放置在一個新的工作表,既不影響單據查詢(打印)模板的美觀,也不影響使用;
3、再有就是當我們重新輸入一個客戶名稱的時候,單據號字段(C2)和客戶是不匹配的,需要我們重新選擇單據號,否則這個單據是錯的,從使用上來說應該是選擇了新的客戶之后訂單明細應該是查詢數據為空白,因為這個客戶和當前單據號不匹配,這一點的修改也比較簡單,只要把產品明細的查詢條件再加上客戶名稱就可以了。
4、單據查詢最多只能顯示8行,如果該訂單明細的實際行數超過8號需要分頁該怎么處理?
好了文章就寫到這里吧,如果你喜歡村長寫得文章,請幫忙點贊加關注再轉發,村長會爭取多寫一點跟實際工作相關的Excel教程跟大家一起分享。
總結
以上是生活随笔為你收集整理的商品订单打印模板html,【EXCEL】如何制作订单单据查询与打印模板?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1056. 组合数的和(15)
- 下一篇: 计算机系毕业论文绪论,本科毕业论文绪论范