亞寵展、全球寵物產業風向標——亞洲寵物展覽會深度解析
790
2025-04-05
N多人分組完成M個項目,excel怎么統計每個人參與了哪些項目
一位朋友留言,說他們項目部所有的人,每五人為一小組,完成了很多項目?,F在,要論功行賞,按分組名單,統計每人參與了哪些項目。
他問有沒有公式,一次完成統計。
為了好述,將數據簡化如下:
最終要完成:按照表一項目分組,完成二人員參與項目統計。
公式實現
在H2單元格輸入公式:
=IFERROR(INDEX($A$1:$A$7,SMALL(($G2<>$B$2:$D$7)*100+ROW($B$2:$D$7),COLUMN(A$1))),””),以Ctrl+Shift+Enter三鍵組合結束,然后公式向右向下填充,即可得到結果。
如下圖:
公式實現
公式解析
{=($G2<>$B$2:$D$7)*100}
將G2的人員“王一”,依次與B2:D7姓名相比較,如果不同,返回TURE,如果相同,返回FALSE。再將結果一一乘以100,凡是不等于“王一”的,返回100,等于“王一”的,返回0。
結果如下:
{0,100,100;100,100,100;100,100,100;100,100,100;100,0,100;0,100,100 }(為方便描述,稱為數組一)
如果行數較多,可以乘以更大的10000等。
{=($G2<>$B$2:$D$7)*100+ROW($B$2:$D$7)}
將數組一結果依次與所在行相加,
返回結果:
{2,102,102;103,103,103;104,104,104;105,105,105;106,6,106;7,107,107 }(為方便描述,稱為數組二)
SMALL(($G2<>$B$2:$D$7)*100+ROW($B$2:$D$7),COLUMN(A$1))
在數組二中,取第“COLUMN(A$1)”小的數值。A1是第一列,也就是取數值二中第1小的數值2;當公式向右填充一列,變為取第“COLUMN(B$1)”小的數值,即第2小的數值6;當公式再向右填充一列,變為取第“COLUMN(C$1)”小的數值,即第3小的數值7。
這樣,得到數組:
{2;6;7;102;……}
INDEX($A$1:$A$7,SMALL(($G2<>$B$2:$D$7)*100+ROW($B$2:$D$7),COLUMN(A$1)))
當此公式在H2時,在A1:A7內,取出第2行的項目一;
公式向右填充一列,到I列,在A1:A7內,取出第6行的項目五;
公式再向右填充一列,到J列,在A1:A7內,取出第7行的項目六;
再往后取第102……行,是不存在的。
=IFERROR(INDEX($A$1:$A$7,SMALL(($G2<>$B$2:$D$7)*100+ROW($B$2:$D$7),COLUMN(A$1))),””)
用IFFERROR函數,如果查找錯誤,返回空值。
此公式,理解起來有一定難度,建議大家下載素材,一步一步寫出來。
寫的時候,注意使用“公式求值”功能對公式進行一步一步的運算,公式求值能夠幫助你一步一步分析公式,如下動圖:
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。