小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

扒出一個(gè)Excel神技巧:按指定的條件重復(fù)數(shù)據(jù)!

 互利互讀一輩子 2023-07-29 發(fā)布于北京

本文作者:趙驕陽
本文編輯:竺蘭


Hi,我是偏愛函數(shù)公式,愛用 Excel 圖表管理倉庫的大叔 Mr 趙~

在日常工作中,我們經(jīng)常會碰到按指定的條件重復(fù)數(shù)據(jù)的問題,比如按指定數(shù)量重復(fù)標(biāo)簽的個(gè)數(shù),根據(jù)箱規(guī)拆分?jǐn)?shù)量等等。

昨天的文章,我們介紹過它的傳統(tǒng)函數(shù)做法:別再 Ctrl V!我用函數(shù) 1 分鐘幫你干完 1 小時(shí)的工作!

今天,我們就來看看在 Office365 中,它的各種神奇做法。本文重在擴(kuò)展思路,大家跟著我的步伐,往下看看吧。

圖片
圖片
重復(fù)單個(gè)標(biāo)簽


如下圖,按 C3 單元格的打印份數(shù)重復(fù) B3 單元格的標(biāo)簽名稱,效果如 E 列:

圖片

對于單個(gè)標(biāo)簽,我們可以使用 Row 函數(shù)下拉擴(kuò)展,從而進(jìn)行判斷。
=IF(ROW(A1)<=$C$3,$B$3,'')

圖片

如果你是 Office365 版本,擴(kuò)展只需要一個(gè) EXPAND 函數(shù)。

EXPAND 函數(shù)的作用,是將原來的區(qū)域按指定的行數(shù)和列數(shù)進(jìn)行擴(kuò)充。

它有 4 個(gè)參數(shù):
=EXPAND(區(qū)域,擴(kuò)充的總行數(shù),擴(kuò)充的總列數(shù),原區(qū)域以外顯示的值) 

在 E3 單元格輸入公式:
=EXPAND(B3,C3,,B3)

圖片

公式解析:

第 1 參數(shù)是 B3 單元格,表示待擴(kuò)充的區(qū)域;

第 2 參數(shù)獲取 C3 單元格的數(shù)值,表示擴(kuò)充的總行數(shù),是 6 行,

第 3 參數(shù),省略未寫,默認(rèn)擴(kuò)充為 1 列;

第 4 參數(shù),獲取 B3 單元格的文本,用'A'填充原區(qū)域以外的位置,從而達(dá)到重復(fù)的效果。

如果想為這組結(jié)果添加標(biāo)題,可以用 VSTACK 函數(shù)拼接,這個(gè)函數(shù)的作用是把各個(gè)參數(shù)縱向堆疊在一起。

VSTACK 函數(shù)語法為:
=VSTACK(參數(shù) 1,參數(shù) 2,參數(shù) 3……)

在 E2 單元格寫入公式:
=VSTACK(B2,EXPAND(B3,C3,,B3))

圖片
圖片
SEQUENCE


上面使用的新函數(shù),Expand 函數(shù)和 Vstack 函數(shù),目前 WPS 還沒更新。

不過,使用 WPS 的小伙伴更新到新版本,可以用 SEQUENCE 函數(shù),同樣能達(dá)到填充的目的:

PS : 由于 WPS 目前還沒有更新動態(tài)數(shù)組,所以使用 WPS 還需要使用數(shù)組三鍵哦~ ,Excel2021 及以上版本直接回車就行。

圖片

下面就來看看操作:

首先用 SEQUENCE 函數(shù)根據(jù) C3 單元格的數(shù)值生成一組數(shù)字序列。

=SEQUENCE(行數(shù),[列數(shù)],[開始數(shù)],[增量])

可選參數(shù),不輸入默認(rèn)為 1。

=SEQUENCE(C3)=SEQUENCE(6)

也就是該函數(shù)公式生成為 6 行 1 列,開始值為 1,增值為 1 的序列。

圖片

然后以這組序列作為 IF 函數(shù)的判斷條件,返回 B3 單元格的內(nèi)容。

在 E3 單元格輸入公式:
=IF(SEQUENCE(C3),B3)

PS : 非 0 的值都為真(true),所以 if 函數(shù)判斷的時(shí)候,SEQUENCE 函數(shù)生成的序列都為 true。

圖片

但是在實(shí)際操作指定重復(fù)次數(shù)的時(shí)候,不會只對單個(gè)標(biāo)簽進(jìn)行重復(fù),一般是多個(gè)標(biāo)簽一起。

這應(yīng)該怎么做呢 ?

圖片
圖片
重復(fù)多個(gè)標(biāo)簽


如下圖,根據(jù) C 列的打印份數(shù),重復(fù) B 列多個(gè)標(biāo)簽名稱,效果如 E 列:

圖片

從上圖 E 列的效果可以看出,我們需要用 VSTACK 函數(shù)對每個(gè)標(biāo)簽名稱依次循環(huán)拼接。

這里就需要一個(gè) REDUCE 函數(shù),

它有 3 個(gè)參數(shù),語法為:
=REDUCE(初始值,遍歷的數(shù)組,LAMBDA(x,y,計(jì)算表達(dá)式))

第 1 個(gè)參數(shù)是初始累加值;

第 2 個(gè)參數(shù)是循環(huán)遍歷的區(qū)域;

第 3 個(gè)參數(shù)是 LAMBDA 函數(shù)運(yùn)算的表達(dá)式,它有兩個(gè)參數(shù),x 指向初始累加值,y 指向第 2 參數(shù)即被遍歷的區(qū)域。

在 E2 單元格輸入公式:
=REDUCE(B2,B3:B5,LAMBDA(x,y,VSTACK(x,EXPAND(y,OFFSET(y,,1),,y))))

圖片

公式解析:

REDUCE 函數(shù)

第 1 個(gè)參數(shù)為 B2 單元格,是初始值;

第 2 個(gè)參數(shù)為 B3:B5 單元格區(qū)域,需要遍歷的數(shù)據(jù);

第 3 個(gè)參數(shù)是一個(gè) LAMBDA 函數(shù),它有兩個(gè)變量 x 和 y,用來計(jì)算表達(dá)式:
=VSTACK(x,EXPAND(y,OFFSET(y,,1),,y))))

其中:
x 作為累加值,指向 REDUCE 的第 1 參數(shù)為 B2,也就是「標(biāo)簽名稱」。
y 指向 REDUCE 的第 2 參數(shù) B3:B5 區(qū)域。

LAMBDA 遍歷 B3:B5 每一個(gè)單元格,第 1 次運(yùn)行表達(dá)式:
=VSTACK(B2,EXPAND(B3,OFFSET(B3,,1),,B3))))

返回結(jié)果如下圖 E 列:

圖片

然后將上面的結(jié)果 E2:E5 作為 LAMBDA 新的第 1 參數(shù),B4 為第 2 參數(shù),繼續(xù)第 2 次執(zhí)行 LAMDA 表達(dá)式:

=VSTACK(E2:E5,EXPAND(B4,OFFSET(B4,,1),,B4))

結(jié)果如下圖 G 列:

圖片

……

依次類推,直至遍歷完 B3:B5 的所有單元格,將 LAMBDA 第 1 參數(shù)不斷拼接,結(jié)果如下圖 I 列:

圖片

REDUCE 函數(shù)雖然是一個(gè)比較難的函數(shù),但是,由于有了它的存在,給我們提供了更加靈活的處理方案。
圖片
總結(jié)一下


今天我們通過指定的次數(shù)重復(fù)數(shù)據(jù)的案例,切實(shí)感受到了 365 版新函數(shù)的神奇用法!重在擴(kuò)展大家思路~

本文,我們主要涉及了三個(gè)比較常用的新函數(shù)。(目前它們還沒在 WPS 中出現(xiàn)。)

? EXPAND 函數(shù)可以按指定的行數(shù)和列數(shù)自動擴(kuò)充區(qū)域;

? VSTACK 函數(shù)將對多個(gè)區(qū)域自由垂直拼接,比如添加標(biāo)題;

? REDUCE 函數(shù)通過遍歷,循環(huán)調(diào)用 LAMBDA 函數(shù)表達(dá)式生成最終結(jié)果,比如對多個(gè)數(shù)據(jù)標(biāo)簽完成數(shù)量的復(fù)制。

Excel 里的函數(shù)有 400 多個(gè),但我們常用的其實(shí)只有幾十個(gè)。

圖片


好了,今天就說到這里結(jié)束啦~

如果本篇文章對你有幫助或有所啟發(fā),歡迎「點(diǎn)贊」、「評論」和「轉(zhuǎn)發(fā)」哦,你們的支持是我分享的動力~

圖片

圖片

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多