2015-10-17 72 views
-1

我希望這不是太簡單的一個問題,但我創造了即將來臨的膳食上市在A列的參與者,以及特殊飲食要求在列F我如何列出誰需要特殊的飲食要求?

Excel電子表格是否有可能創建一個公式這將允許我有一個細胞,列出特殊飲食要求的人?

I.E.如果我在列F中輸入Persons 1, 4, 6, 18, 34, 48, 56, etc....,我可以創建一個單元格,用於創建具有特殊飲食要求的人員名單? (+該總計的這些數目的細胞將是巨大的太)

+0

IMO更適合[超級用戶](http://superuser.com/help/on-topic)。過濾ColumnF以選擇非空白,您的計數應顯示在左下角。選擇相應的ColumnA值,僅作爲文本粘貼到Word中,用','替換所有但最後一個'^ p',並將結果複製回Excel以將選定名稱放入單個單元格中。 – pnuts

回答

1

的公式,以顯示與特殊飲食要求的人的總數爲:

=SUMPRODUCT(--(LEN(F2:F999)>0)) 

上面假定小區F1有一欄標題在裏面。

報告這些人在一個小區中的列表是不那麼容易......

讓我們假設你放在上面的公式單元格Z1等Z1當前顯示的總。以下公式將列出名稱,但它使用Z1。所以,如果你放在上面的公式別的地方(這是可能的),那麼你必須改變Z1的這個公式:

=IF(Z1>0,INDEX(REPT(A2:A999,LEN(F2:F999)>0),LARGE(ROW(1:998)*(LEN(F2:F999)>0),1)),"") & IF(Z1>1,", "&INDEX(REPT(A2:A999,LEN(F2:F999)>0),LARGE(ROW(1:998)*(LEN(F2:F999)>0),2)),"") & IF(Z1>2,", "&INDEX(REPT(A2:A999,LEN(F2:F999)>0),LARGE(ROW(1:998)*(LEN(F2:F999)>0),3)),"") & IF(Z1>3,", "&INDEX(REPT(A2:A999,LEN(F2:F999)>0),LARGE(ROW(1:998)*(LEN(F2:F999)>0),4)),"") & IF(Z1>4,", "&INDEX(REPT(A2:A999,LEN(F2:F999)>0),LARGE(ROW(1:998)*(LEN(F2:F999)>0),5)),"") & IF(Z1>5,", "&INDEX(REPT(A2:A999,LEN(F2:F999)>0),LARGE(ROW(1:998)*(LEN(F2:F999)>0),6)),"") & IF(Z1>6,", "&INDEX(REPT(A2:A999,LEN(F2:F999)>0),LARGE(ROW(1:998)*(LEN(F2:F999)>0),7)),"") & IF(Z1>7,", "&INDEX(REPT(A2:A999,LEN(F2:F999)>0),LARGE(ROW(1:998)*(LEN(F2:F999)>0),8)),"") & IF(Z1>8,", "&INDEX(REPT(A2:A999,LEN(F2:F999)>0),LARGE(ROW(1:998)*(LEN(F2:F999)>0),9)),"") & IF(Z1>9,", "&INDEX(REPT(A2:A999,LEN(F2:F999)>0),LARGE(ROW(1:998)*(LEN(F2:F999)>0),10)),"") 

它必然是很長,所以複製並粘貼到一個單元格,也許Z2。

現在確認公式。

這第二公式是數組公式,並且必須以Ctrl鍵 + + 輸入來確認。

它目前已設置爲報告您輸入的單元格中最多有十個具有特殊飲食要求的逗號分隔逗號的人。

它可以很容易地擴展。注意整個公式中的巨大差距。您可以看到十個謹慎的公式與連字符(&)拼接在一起。爲了擴展它以適應超過十個具有特殊飲食要求的人員,只需複製最後一個部分並在新部分中編輯兩個數字即可。

我已經重新格式化了下面的第二個公式。有了這種格式是更容易看到這個模式:

=IF(Z1>0,  INDEX(REPT(A2:A999,LEN(F2:F999)>0),LARGE(ROW(1:998)*(LEN(F2:F999)>0),1)),"")& 
IF(Z1>1,", "&INDEX(REPT(A2:A999,LEN(F2:F999)>0),LARGE(ROW(1:998)*(LEN(F2:F999)>0),2)),"")& 
IF(Z1>2,", "&INDEX(REPT(A2:A999,LEN(F2:F999)>0),LARGE(ROW(1:998)*(LEN(F2:F999)>0),3)),"")& 
IF(Z1>3,", "&INDEX(REPT(A2:A999,LEN(F2:F999)>0),LARGE(ROW(1:998)*(LEN(F2:F999)>0),4)),"")& 
IF(Z1>4,", "&INDEX(REPT(A2:A999,LEN(F2:F999)>0),LARGE(ROW(1:998)*(LEN(F2:F999)>0),5)),"")& 
IF(Z1>5,", "&INDEX(REPT(A2:A999,LEN(F2:F999)>0),LARGE(ROW(1:998)*(LEN(F2:F999)>0),6)),"")& 
IF(Z1>6,", "&INDEX(REPT(A2:A999,LEN(F2:F999)>0),LARGE(ROW(1:998)*(LEN(F2:F999)>0),7)),"")& 
IF(Z1>7,", "&INDEX(REPT(A2:A999,LEN(F2:F999)>0),LARGE(ROW(1:998)*(LEN(F2:F999)>0),8)),"")& 
IF(Z1>8,", "&INDEX(REPT(A2:A999,LEN(F2:F999)>0),LARGE(ROW(1:998)*(LEN(F2:F999)>0),9)),"")& 
IF(Z1>9,", "&INDEX(REPT(A2:A999,LEN(F2:F999)>0),LARGE(ROW(1:998)*(LEN(F2:F999)>0),10)),"") 

Excel是不擅長返回像這樣的列表到一個單元格,這就是爲什麼該公式是那麼的漫長。

+0

非常感謝Excel Hero,它能夠總結總數,但是如果有他們的名字列表也很棒! 謝謝大家! – choppedpete

+0

@choppedpete你能做到這一點嗎? –

1

假設我們有這樣的數據:

enter image description here

要列出需要,說低鹽的人,建立一個自動篩選F列

enter image description here

要計算低鹽人數,請使用:

=COUNTIF(F:F,"low salt") 

這不會讓你在單個單元格中的名稱,但它會得到名稱。