2014-10-29 87 views
0

我需要一個工作簿中的響應組合在一起幫助。我正在使用Excel 2010,並且我有ColumnA,分類爲1,2,3,4,5和6. ColumnB從下拉列表(A,B,C和D)中獲得響應A,B,C和D都在電子表格中其他位置的單元格中定義,然後引用數據驗證下拉列表)。假設答案是1-A,2-A,3-B,4-D,5-A,6-B。我想要一個不同的細胞中的公式,它會給我「1,2和5是A; 3和6是B; 4是D」可能不那麼幹淨,但儘可能接近。 我不想使用VBA或宏的答案,即使沒有它們,也不可能。我只想知道是否有任何方法可以使用任何公式組合來完成。Excel 2010中的分組無VBA

我提供了一個樣本朝向使用的樣品信息,如學習用品及其可用性底部的必要信息(所有單元格引用會很容易轉移到我的實際工作簿由於放置在這裏)。下拉列表的選擇是從B294:B299開始定義的,以防萬一這很重要(同樣,這只是爲了反映它在我的實際文件中設置的方式)。這裏是示例的鏈接。 https://drive.google.com/file/d/0B5qnLtwIDvK7TjV0TTJOSnNNRU0/view?usp=sharing 請讓我知道你能想出!謝謝!

+0

有每個類別只有一個迴應? – 2014-10-29 23:00:54

回答

0

我設法得到什麼,我認爲你想工作。我將子計算放在不同的列中,以重複使用評估而不是壓倒你。如果這是您想要的,我強烈建議您嘗試瞭解每個配方的完成情況和整體邏輯。

Grouping Spreadsheet

在我的方法的概念是,每行需要最終意識到了什麼是最後一排它上面有同樣的反應。因此,我們可以沿着專欄走下去。 C列告訴我們是哪一行。 D列告訴我們什麼是最後一行OVERALL具有相同的響應。列E確定那個響應有多少個實例。列E用於確定在'和'之前是否應該有逗號。列F在該響應的先前實例上構建(如上所述),使得包含該響應的最底部的行包含響應組的全部文本。列G追加列F中的文本當且僅當它是響應組的最後一行時。

C2 =SUMPRODUCT(MAX(($B$1:$B1=B2)*ROW($B$1:$B1))) 
D2 =SUMPRODUCT(MAX(($B$1:$B$7=B2)*ROW($B$1:$B$7))) 
E2 =COUNTIF($B$2:$B$7,B2) 
F2 =IF(C2=0,A2,INDEX($F$1:$F1,C2)&IF(ROW()=D2,IF(E2<3," and ",", and "),", ")&A2) 
G2 =IF(ROW()=2,"",G1)&IF(ROW()=D2,F2&IF(E2>1," are "," is ")&B2&IF(ROW()=COUNTA($A$1:$A$7),"","; "),"")