Excel之PowerQuery Table.InsertRows函數(shù)在指定多個下標位置同時插入數(shù)據(jù)
網(wǎng)友提問:

網(wǎng)友的意思是我在課上講了Table.InsertRows可以在指定下標插入一行數(shù)據(jù),也可以按一定規(guī)律循環(huán)插入數(shù)據(jù)。但是我沒講,如何在指定位置插入多行數(shù)據(jù)。 沒講如果在無規(guī)則的下標中插入指定數(shù)據(jù),例如在下標 1、3、6 同時插入數(shù)據(jù)。
回答網(wǎng)友問題:
我說我講了,您信不信?只是您沒有學會應用。
就好比,大家都背原理,背概念,奇數(shù)不能被2整除,偶數(shù)能被2整除
概念和應用是有區(qū)別的。例如,我回家打開燈,又對著燈按了187次,那現(xiàn)在燈是開著的還是關(guān)著的(忽略我把燈按壞了,忽略這個過程中停電了)。
已知我回家打開燈,燈是亮的,再按第1次是關(guān)(奇數(shù)),再按第2次是開(偶數(shù))
187是奇數(shù)(尾數(shù)1、3、5、7、9),所以燈是關(guān)著的。 這件事背原理沒用吧?
好比,包拯破案,如果他破不了,難到他說,因沒有人來開封府自首,因為沒有人承認這事是他做的。顯然他不是,否則再正派,也無法流芳千古。
回答網(wǎng)友第一個問題:
我們表示一行數(shù)據(jù)時用的方法 { [記錄1] },那多行呢?用 { [記錄1]?,?[記錄2] }

哪里講的?M函數(shù)第一節(jié)課就講了

如果只是這個問題,我就私信回答該網(wǎng)友了,但是第2個問題,我覺得還是不錯的,至少不會像第一個問題這么簡單。
每次寫文章或錄視頻回答問題,我都會在自己認為有至少30%人不會的情況下才會做的。
回答網(wǎng)友第二個問題:
以下表為例,網(wǎng)友想在 下標:1、3、6 同時插入一個空行

我們在M函數(shù)第2季第1節(jié)課講過

那我們可不可以這樣想
?= List.Accumulate({1,3,6}, 更改的類型, (當前表, 插入的下標) => Table.InsertRows(當前表,插入的下標, {[姓名=null,分數(shù)=null]})
當前表,第一次是更改類型那張表,當我們在下標1插入數(shù)據(jù)后,當前表變成第1次插入數(shù)據(jù)的那張表,再插入第2次,再插入第3次。。。
如果你真這么寫,答案就是錯的
因為,第1次在下標1插入后,下標3就變成了下標4。。。。,類似我們在ExcelVBA中講刪除行,如果我們倒著來,就可以避免錯誤

于是我們可以把{1,3,6} 降序,代碼修改成??List.Sort({1,3,6},Order.Descending)
就是把{1,3,6} 變成{6,3,1}
這就是我們想到的了


PowerQuery教程:https://www.bilibili.com/video/BV1oa4y1j75e
Excel之PowerQuery Table.InsertRows函數(shù)在指定多個下標位置同時插入數(shù)據(jù)的評論 (共 條)
