2017-09-01 30 views
1

我試圖創建一個重複特定次數的基礎上,另外一個變量名的列表。基本上,如果我有以下幾點:Excel中返回的項目清單與特定的重複

Column A Column B 
Amy   5 
John   2 
Carl   3 

的結果將是:

  • 艾米
  • 艾米
  • 艾米
  • 艾米
  • 艾米
  • 卡爾
  • 卡爾
  • 卡爾
  • 約翰
  • 約翰

我已經建立了使用指數小COUNTIF,方法,得到一個字母和獨特的名單初步名單,然後另一個公式以確定有多少每個項目重複一次。我知道我需要使用某種索引/偏移來引用行,但不能完全解決它。

該列表是動態的,每天都會更改,因此每天手動重新輸入列表會導致太多的人爲錯誤和時間(列表大約有50個不同的項目,最終的行總數大約爲400)。最終,該列表將用於許多sumproduct/vlookups。

我可以在VBA很快做到這一點,但該文件的用戶並不總是信任VBA,並試圖讓他們每次啓用宏是不是去上班的東西。

非常感謝您對您可以提供任何幫助!

+0

獲得新用​​戶?這是一個選擇嗎? – JNevill

+0

有時我真的很希望它是... – mjohnson

回答

1

根據您的表:

+---+------+---+ 
| | A | B | 
+---+------+---+ 
| 1 | Amy | 5 | 
| 2 | John | 2 | 
| 3 | Carl | 3 | 
+---+------+---+ 

在C列中堅持一個 「0」,在C4和公式=B1+C2複製到之前的0:

+---+------+---+----+ 
| | A | B | C | 
+---+------+---+----+ 
| 1 | Amy | 5 | 10 | 
| 2 | John | 2 | 5 | 
| 3 | Carl | 3 | 3 | 
| 4 |  | | 0 | 
+---+------+---+----+ 

現在我們有一個上限的每個值應置於其上,我們可以在一個Match()公式,將飼料的Index()式使用的行。

在新的一列(我使用的是E)的E1:=INDEX($A$1:$A$3,MATCH(ROW(),$C$1:$C$3,-1),1)抄下

+----+------+---+----+--+------+ 
| | A | B | C | D | E | 
+----+------+---+----+--+------+ 
| 1 | Amy | 5 | 10 | | Carl | 
| 2 | John | 2 | 5 | | Carl | 
| 3 | Carl | 3 | 3 | | Carl | 
| 4 |  | | 0 | | John | 
| 5 |  | | | | John | 
| 6 |  | | | | Amy | 
| 7 |  | | | | Amy | 
| 8 |  | | | | Amy | 
| 9 |  | | | | Amy | 
| 10 |  | | | | Amy | 
+----+------+---+----+--+------+ 

這份名單是倒退,因爲這古怪的向後從0件事,我們在C列這樣做是爲了使Match()最後一個參數-1(大於)正常工作。

我會做一些調整可以這樣做乾淨了一點想象,但是這應該讓你在球場。

雖然我仍然會尋找誰是能夠使宏的用戶的一大支持者。啊。

+0

令人驚歎!非常感謝你!我調整了一下,以正確的順序。基本上總結了列B,然後我調整匹配部分= ....匹配(SUM(B:B) - 行(),... – mjohnson

+1

是的!這很有道理,這不是它錯了但它感覺必須有一個簡單的方法來翻轉它,在幾分鐘內我放棄了這個問題兩次,但它一直在困擾着我,所以當我(向後)破解它時,我並沒有不會冒重構風險。 – JNevill