簡體   English   中英

帶有宏的 Excel 數據透視表可根據字段名稱合並值?

[英]Excel pivot table with macro to consolidate values based on field name?

我有一個包含兩個相關列“ src ”和“ on hand ”的表。 src列中,我希望在創建數據透視表時以不同方式處理每一行的兩種類型的條目。

  1. 對於 src 列中具有長度大於 2 的字符串的值的任何條目,我想使用該值在數據透視表中創建一個新行。
  2. 對於“手頭”字段,我想獲取該行下最后一個條目的“手頭”值,其中字段名稱的長度為 2 的 src 值;

例如,原始表讀取的位置(產品名稱 = src):

-------------------------
|Name of Product|on Hand|
-------------------------
|foo            |(1.000)|
-------------------------
|xx             |0.000  |
-------------------------
|xx             |(1.000)|
-------------------------
|xx             |7.000  |
-------------------------
|bar            |0.000  |
-------------------------
|xx             |(1.000)|
-------------------------
|xx             |2.000  |
-------------------------

數據透視表變為:

-------------------------
|Name of Product|on Hand|
-------------------------
|foo            |7.000  |
-------------------------
|bar            |2.000  |
-------------------------

不幸的是,我對此沒有方向感,也不確定從哪里開始。 是否有解決此類問題的通用方法?

您可以使用兩個輔助列來完成此操作。 C列和D列中輸入下面詳述的公式並將它們復制下來。 然后在列CD上運行數據透視表。

看截圖:

在此處輸入圖片說明

類別基於此公式:

=IF(ROW()=2,A2,IF(LEN(A2)=2,C1,A2))

其中說:

  • 如果行是 2 只取產品(因為它是第一行,我們不能查看“上面”的值)
  • 否則,如果產品的長度為 2,則取上面的值
  • 否則,取乘積 - 意味着bar成為新值,因為長度 >3

關閉基於此公式:

=IF(C2<>C3,B2,0)

其中說:

  • 如果下面的類別相同,那么我們就沒有達到期末余額
  • 否則,下面的類別是新的,因此我們已達到期末余額

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM