問題比較簡單,我們直接來看!登記組別信息的時候等級在了一列,現在想整理成右側的表要如何處理?你有幾種思路?我給大家寫幾個打個樣把
▍輔助列 VLOOKUP 這種方法步驟要多一些,但是對新手和版本兼容性較好,我們首先添加一列輔助列為組別,把組別提取出來 簡單的IF函數,應該都沒有問題,思路是如果A列是組別,就返回組別名稱,否則返回B列上一個單元格內容,有點迭代的思路在! =IF(RIGHT(A1)='組',A1,OFFSET(B1,-1,))
第二步處理,其實就變成了1對多取數問題了,前兩天正好我們分享過 飛機票直達--->> 一個輔助列讓Excel查詢直接起飛! 沒看過的也沒關系,我們直接來寫吧,1對多對新手太難,可以轉成1對1,VLOOKUP大家最熟悉,輕松松松! 下面大家就比較熟悉了,相當于查詢唯一值了,每個組都有一個唯一的序號!完美搞定!=IFERROR(INDEX($A:$A,MATCH($E1&COLUMN(B1),$C:$C,)),'') 上面的方法雖然通用性好,但是很多有函數基礎的同學可能覺得步驟多,有點冗余了,那么我們推薦使用下面公式法,直接搞定! CONCAT(IF(RIGHT(A1:A14)='組',';',',')&A1:A14), 這里更多的是利用TEXTSPLIT函數,可以按行和列拆分的特性!當然你也可以使用REDUCE函數去堆,這個評論區(qū)會有大佬分吧!當然除了365函數的寫法外,PowerQuery搞這個更是輕松,最近正好一直在更新Table.Group,今天這個案例正好派上用場了!如何加載到PQ編輯器這些基礎的操作,我們就不再一一演示了,直接來看M函數如何書寫! 這里用的就是Table.Group的局部分組了,Table.Group的局部分組才是這個函數的靈魂,可以讓我們分組更加隨心,不同于大部分的完全相等分組。 其實寫到這里,已經是2023年6月6日00:22:31,有點累了,不過每次出個解題,總有同學各種秀我一臉…… VBA的解法比較簡單,由于數據較少,數組我們也沒有使用直接使用一個for循環(huán)搞定,這里更多的是思路問題,什么時候新增一行,同時重置一下寫入的開始列!
|