<列轉行系列3>將經理人代碼、姓名、職員從列拆分為行
我今天要寫的這個問題在數據清理時是很常見的,特別是當資料是從網站或 pdf 中抓取時,經由 Ctrl+C,然後在 Excel 中 Ctrl+V 貼上,結果常常令人感到氣憤,所有的資料都被轉換成同一行,這與我原先在網頁或 pdf 中看到的很不一樣。我打算做這一系列情況的解決方案。 狀況一:是每一組的列數固定,例如每 4 列就是一組數據,每組數據之間隔著一空白列。我有二種解法, 第1集 使用 樞紐資料行 來解, 第2集 使用 分組工具 來做。 狀況二:當然就是每一組的列數不固定,有的可能 2 列就是一組,有的可能 3、4、5、6、7 列一組,還值得慶幸的是至少每一組數據還有前導資料行,讓我可以判斷每一組數據的頭在哪裡。 第3集 。 狀況三:就是最棘手狀況了,就是狀況二沒有前導資料行,所有資料都在同一行,也沒有空白儲存格給你分組。 第4集 。 準備好跟我一起升級打怪了嗎? ================================================ <列轉行系列3>將經理人代碼、姓名、職員從列拆分為行 Data:給定有 Manager ECode , Manager Name 和 Employee Names 三類資料放在同一行, 其中 Employee Names 人數不一,任務是把這些資料拆分為一列列。 💡 提示。。。 英文開頭數字結尾的是 the EMP code of the Manager。 下一列是 the Name of the Manager。 接下來的便是 Employees Names,直到出現下一個 f Manager ECode 為止。 </aside> 檔案下載: 列轉行系列3_Separate Managers and Employees in different Columns Step 1 - 取出 Manager ECode。 新增索引資料行,再新增一自訂資料行,並且輸入以下任一公式,看您喜歡哪一個都行!! if List.ContainsAny( Text.ToList( [Data] ) , {"0" .. "9"} ) then [Data] else null if (try Number.From(Text.End([Da...