2015-06-12 60 views
2

我正在嘗試創建一個動態表 - 我嘗試了一個數據透視表,但無法使其工作。所以我認爲也許可以用IF語句來完成,但這對我來說都不適用。如何在Excel中創建動態表格?

基本上,我有2個表,1個包含信息的表(數據源表)和1個根據第一個表中的數據應該是動態的表。

Table 1

所以,如果我改變在E-列中的數據,果實表(下圖)必須被相應地更新。

Table 2

所以,如果我寫2而不是1在蘋果的計數,那麼它應該在剩餘的列創建2個蘋果下的「水果」 -column」。數據將與一個公式來計算/ 。固定數據 - 所以這不是重要的
我願意接受任何解決方案;公式,數據透視表,VBA等

有一個愉快的週末 我都Excel 2010和2013年

回答

2

如果。你想多次重複一些文字,你可以我們這是一個複雜的公式。它依靠Fruits表中沒有重複條目,並且沒有0計數的條目。

範圍的圖片和結果

ranges and results

涉及包括一個起動器電池E2和重複條目E3和複製下來。這些實際上是正常的公式,不需要數組。請注意,我爲數據創建了一個Table,該數據允許我使用命名字段來獲取整列。

E2 = INDEX(Table1[Fruits],1) 
E3 = IF(
     INDEX(Table1[Count],MATCH(E2,Table1[Fruits],0))>COUNTIF($E$2:E2,E2), 
     E2, 
     INDEX(Table1[Fruits],MATCH(E2,Table1[Fruits],0)+1)) 

它是如何工作 此公式依賴於檢查上述的當前一個的條目的數目和比較期望計數。一些注意事項:

  • 起始細胞需要獲得第一個結果。
  • 第一個單元格後,它會計算上面的值出現在總列表中的頻率。這與期望的計數進行比較。如果低於預期值,它將重複上面的值。如果更大,它會轉到列表中的下一個項目。在這裏有一個雙相對/絕對參考來計數上面的細胞。
  • 由於它轉到列表中的下一個項目,因此不要爲0計數或將其包含一次。

您可以複製它以獲取儘可能多的單元格。當數據用完時,它將爲#REF!。你可以在IFERROR(..., "")中包裝以使這些顯示非常漂亮。

如果非0規則太多,可能只需一點努力就可以將其刪除。如果有重複,那將更難處理。

+0

你,先生,是個天才!非常感謝。像CHARM一樣工作! :-)我想我可以從數據表中刪除該行,如果它等於0,那麼它就不會反映出來。我正打算在VBA中的ChangeEvents中編寫一些代碼,但這看起來要容易得多。週末愉快。 – Niclas