這是典型的二維表格轉置為一維表格的問題。
方法一:powerquery逆透視
1、將資料上傳到powerquery編輯器。
選中表格中任一單元格--資料--從表格--勾選表包含標題
2、按住鍵盤CTRL鍵,選中【半成品】、【定量】兩列。
轉換--逆透視列--逆透視其他列
得出結果如下:
3、重新命名列
4、關閉powerquery編輯器,儲存更改,將結果返回到工作表。
使用powerquery是十分方便的,強烈推薦。
方法二:使用多重資料透視
1、首先,合併前兩列資料
2、鍵盤按住ALT,然後依次按D、P鍵,調出多重資料透視導航視窗。
勾選:多重合並計算資料區域
3、選擇資料區域,新增--下一步
結果如下:滑鼠雙擊下圖中的紅色方框的單元格
彈出新的明細表
篩選【值】列的非空白資料。
最終的表格如下:
這種方法有點麻煩,但也是一種方法。
方法三:VBA方法。
程式碼參考如下:
文字程式碼如下:
Sub 二維轉一維()
Dim arr, brr()
arr = [a1].CurrentRegion
ReDim brr(1 To UBound(arr) * 10, 1 To 4)
For i = 2 To UBound(arr)
For j = 3 To UBound(arr, 2)
If arr(i, j) <> "" Then
k = k + 1
brr(k, 1) = arr(i, 1)
brr(k, 2) = arr(i, 2)
brr(k, 3) = arr(1, j)
brr(k, 4) = arr(i, j)
End If
Next
[h1].Resize(k, 4) = brr
End Sub
以上方法僅供參考。
這是典型的二維表格轉置為一維表格的問題。
方法一:powerquery逆透視
1、將資料上傳到powerquery編輯器。
選中表格中任一單元格--資料--從表格--勾選表包含標題
2、按住鍵盤CTRL鍵,選中【半成品】、【定量】兩列。
轉換--逆透視列--逆透視其他列
得出結果如下:
3、重新命名列
4、關閉powerquery編輯器,儲存更改,將結果返回到工作表。
使用powerquery是十分方便的,強烈推薦。
方法二:使用多重資料透視
1、首先,合併前兩列資料
2、鍵盤按住ALT,然後依次按D、P鍵,調出多重資料透視導航視窗。
勾選:多重合並計算資料區域
3、選擇資料區域,新增--下一步
結果如下:滑鼠雙擊下圖中的紅色方框的單元格
彈出新的明細表
篩選【值】列的非空白資料。
最終的表格如下:
這種方法有點麻煩,但也是一種方法。
方法三:VBA方法。
程式碼參考如下:
文字程式碼如下:
Sub 二維轉一維()
Dim arr, brr()
arr = [a1].CurrentRegion
ReDim brr(1 To UBound(arr) * 10, 1 To 4)
For i = 2 To UBound(arr)
For j = 3 To UBound(arr, 2)
If arr(i, j) <> "" Then
k = k + 1
brr(k, 1) = arr(i, 1)
brr(k, 2) = arr(i, 2)
brr(k, 3) = arr(1, j)
brr(k, 4) = arr(i, j)
End If
Next
Next
[h1].Resize(k, 4) = brr
End Sub
以上方法僅供參考。