午夜视频在线网站,日韩视频精品在线,中文字幕精品一区二区三区在线,在线播放精品,1024你懂我懂的旧版人,欧美日韩一级黄色片,一区二区三区在线观看视频

分享

數(shù)組動(dòng)態(tài)擴(kuò)展、字典綜合應(yīng)用:訂單金額達(dá)標(biāo)插入贈(zèng)品!

 冷茶視界 2024-10-21 發(fā)布于江蘇

內(nèi)容提要

  • reDim Preserve 動(dòng)態(tài)擴(kuò)展數(shù)組
  • 利用字典進(jìn)行數(shù)據(jù)分類(lèi)、匯總
大家好,我是冷水泡茶,今天在EXCELHOME論壇上看到一個(gè)貼子:[求助] 滿(mǎn)足訂單金額插入贈(zèng)品
具體要求:

各位老師:

訂單明細(xì)表是現(xiàn)有的數(shù)據(jù)表,F(xiàn)列為每個(gè)訂單的金額合計(jì)。根據(jù)J1給出的滿(mǎn)贈(zèng)條件,當(dāng)訂單金額大于或等于J1時(shí),則在每個(gè)訂單的最后行,插入贈(zèng)品表中的有效行。(贈(zèng)品表中的行數(shù)不固定)

https://club./thread-1704151-1-1.html

我們來(lái)看一下數(shù)據(jù)表格:
1、訂單明細(xì),他這個(gè)合計(jì)金額放在第一條記錄右邊,說(shuō)實(shí)話(huà),我看到這們的表格還是有一點(diǎn)頭大,對(duì)應(yīng)關(guān)系有點(diǎn)不清晰:
2、贈(zèng)品表:
3、最終結(jié)果表:
需求分析:
1、看上去不是很難,最直觀的感覺(jué)是插入單元格,把贈(zèng)品的單元格區(qū)域復(fù)制,分別插入到滿(mǎn)足條件的訂單下面。但判斷插入位置可能有點(diǎn)麻煩,沒(méi)有明顯的標(biāo)記。
2、我們準(zhǔn)備采用數(shù)組+字典的方式來(lái)解決,以訂單編號(hào)為key,把每個(gè)訂單的數(shù)據(jù)存到一個(gè)數(shù)組里,裝入字典,再把符合條件的訂單數(shù)據(jù)(數(shù)組)進(jìn)行擴(kuò)展,添加贈(zèng)品記錄,再存入字典。
基本思路
1、把訂單明細(xì)數(shù)據(jù)裝入數(shù)組arr。
2、循環(huán)arr,把訂單編號(hào)相同的數(shù)據(jù)裝入一個(gè)數(shù)組temp,以訂單編號(hào)為key,存到字典dic,同時(shí),設(shè)置一個(gè)字典dSum,以訂單號(hào)為key,以金額匯總為item,用來(lái)判斷是否需要添加贈(zèng)品。
3、循環(huán)字典dSum的key,如果其item大于等于指定金額,則把dic中相應(yīng)的item提取到數(shù)組temp,把贈(zèng)品數(shù)據(jù)添加到temp中,再把temp存入字典dic。
4、循環(huán)字典dic的item,依次把item寫(xiě)入工作表“最終效果”。

后記

1、這里有一個(gè)疑問(wèn),最終結(jié)果表中,A列為訂單編號(hào),但包含了類(lèi)似“贈(zèng)品”的內(nèi)容,不統(tǒng)一,看上去怪怪的,也不利于數(shù)據(jù)分析。我覺(jué)得贈(zèng)品的訂單號(hào)也應(yīng)該是所在訂單的號(hào)碼,如果要標(biāo)明它是贈(zèng)品,可以在產(chǎn)品名稱(chēng)中增加“贈(zèng)品”字樣,如果這樣操作也不合適,那么可以增加一個(gè)“備注”字段,注明贈(zèng)品。

2、我們?cè)趯?xiě)入工作表的時(shí)候,依次把字典的item寫(xiě)入工作表,如果訂單編號(hào)特別多,速度方面可能會(huì)有點(diǎn)影響,也可以考慮先寫(xiě)入數(shù)組,然后再一次性寫(xiě)入工作表,今天之所以沒(méi)有這樣做,純粹是為了“偷懶”,原因是每個(gè)item的維度可能都不一樣,要準(zhǔn)確定義一個(gè)結(jié)果數(shù)組有點(diǎn)麻煩,要計(jì)算出一個(gè)總行數(shù)(我實(shí)在是不愿意定義一個(gè)10000行的數(shù)組)。

好,今天就到這里,我們下期再會(huì)!


~~~~~~End~~~~~~

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章