
我有一份一段時間內打過的羽毛球比賽清單:
每行包含遊戲 ID 和一個玩家 ID。每場比賽由四名選手進行。因此,每個遊戲有四行(每個玩家一行)。由於我們有很多遊戲,玩家清單中有很多重複的內容。
我希望創建一個交叉表來告訴我兩個玩家一起玩遊戲的次數。
這可以用公式完成嗎?這個公式會是什麼?
--- 編輯 --- 回答斯科特的問題:
(1) 一輪和一場比賽一樣嗎?
我犯了一個錯誤。每回合有多場;每個可用球場都有一個。我應該說“遊戲”而不是“回合”。我已在上面糾正了這一點。
(2)第X_1輪和第X_2輪有什麼關係?
該數字表示比賽進行的場地。該示例有兩個法院,實際上我們有九個。
(3) 請向我們展示所需的結果,而不僅僅是所需結果的格式。
我已經更換了圖像。我手工製作了範例表格。兩場比賽ESK和GEN一起打球。 YUG和PED都只打了一場比賽。我希望這就是你的意思。
答案1
網格圖在常見項目中單位之間的計數
顯示兩個單位共有的項目數的格數。
相互項目頻率圖。
[
網格公式 (CSE):
=IF(OR(E$2=$D3,E$2="",$D3=""),"",SUM(IFNA(MATCH(IF(E$2=$B$2:$B$102,$A$2:$A$102,NA()),IF($D3=$B$2:$B$102,$A$2:$A$102),0)^0,0)))
- 貼到:E3
- 這是一個 CSE 公式,所以按Ctrl- Shift-Enter
- 複製 向左拖曳,釋放,然後在所有複製的儲存格仍處於選取狀態的情況下,向下複製拖曳。
確定拖曳到標題之外(在需要時填入空白)。 - 標題調整:列標題第 2 行
E$2
和行標題列 D$D3
。各出現兩次。 - 項目和單位範圍分別為 $A$2:$A$102 和 $B$2:$B$102。
標題公式:
排
=IFERROR(INDEX($B$2:$B$17,MATCH(0,COUNTIF($D$2:D$2,$B$2:$B$17),0)),"")
- 貼到E2
柱子
=IFERROR(INDEX($B$2:$B$17,MATCH(0,COUNTIF($D$2:$D2,$B$2:$B$17),0)),"")
- 貼到D3
- 兩者都是 CSE,因此請按Ctrl- Shift- Enter,然後複製並拖曳,直到將來可能出現其他標題項目(在不同值後顯示空白)。
- 不要輸入值D2可以出現在「單位」欄位中。
- D2 是擴展範圍的零位置。
$D$2:D$2
和都$D$2:$D2
在擴展相應標頭
先前條目的範圍;用於建立不同的標題項。
- 標題公式是可選的,但標題不是可選的。手動輸入時請小心。
- 這些標頭按首次出現的順序排列。使用
SMALL
不同的公式進行排序。
條件格式:
對角線公式
=AND(E$2<>"",$D3=E$2)
適用於:$E$3:$V$20
其中$V$20是網格的右下角。
應用程式格式填滿或其他任何內容。
- 分級色標(如圖)。
- 首先列出對角線規則。 (可以編輯公式以在對角線上顯示單位頻率。)
- 用這個隱藏零設定單元格格式網格上的自訂格式
#;;"";""
畫筆。
在對角線上顯示單位的頻率:
刪除網格公式中的防護,顯示空白的 ""
當列標題和行標題值相同時。
=IF(OR(E$2=$D3,E$2="",$D3=""),""...(see entire formula above)
. ^^^^^^^^
E$2=$D3,
從網格公式中刪除(包括尾隨逗號)。- 編輯完CSE後,重新複製拖曳。