Berikut adalah solusi komprehensif yang menggunakan Pivot Table yang di-refresh otomatis untuk menampilkan posisi final alternatif secara dinamis saat tim dikeluarkan dari daftar dropdown.
Ini menghapus tim yang dikecualikan dari Tabel Pivot dan Table2
sepenuhnya, dengan tabel penyesuaian otomatis untuk menghapus semua kekosongan.
Untuk Table1
, ini meredupkan baris yang berisi tim yang dikecualikan dengan pemformatan bersyarat. Yang terbaik yang bisa dilakukan dengan tabel ini adalah menyembunyikan putaran sepenuhnya, meninggalkan baris kosong.
Ini lembar kerja Anda yang menunjukkan modifikasi tambahan:
Rumus:
Perhatikan bahwa semua rumus berikut menggunakan referensi terstruktur Excel 2007, tetapi juga akan berfungsi di semua versi Excel yang lebih baru.
Formula 1 - Masuk F1:F14
:
=1+INT((ROW()-ROW(Table1[Round]))/2/COUNTIFS(Table1[Round],1,Table1[Team1],"<>"&$K$9,Table1[Team2],"<>"&$K$9))
Formula 2 - Array dimasukkan ( Ctrl + Bergeser + Memasukkan ) di G3
dan copy-paste / diisi G3:G14
:
=IFERROR(INDEX(Table1[[Team1]:[Team2]],SMALL(IFERROR(1/(1/N(IF(1,(ROW(Table1[Round])-ROW(Table1[[#Headers],[Round]]))*(Table2[[#This Row],[Round]]=Table1[Round])*($K$9<>Table1[Team1])*($K$9<>Table1[Team2])))),FALSE),1+MOD(INT((ROW()-ROW(Table1[Round]))/COUNTIFS(Table1[Round],1,Table1[Team1],"<>"&$K$9,Table1[Team2],"<>"&$K$9)),COUNTIFS(Table1[Round],1,Table1[Team1],"<>"&$K$9,Table1[Team2],"<>"&$K$9))),1+MOD(ROW()-ROW(Table2[[#Headers],[Round]])-1,2)),"")
Formula 2 yang telah disiapkan adalah sebagai berikut:
=
IFERROR(
INDEX(
Table1[[Team1]:[Team2]],
SMALL(
IFERROR(1/(1/N(IF(1,
(ROW(Table1[Round])-ROW(Table1[[#Headers],[Round]]))
*(Table2[[#This Row],[Round]]=Table1[Round])
*($K$9<>Table1[Team1])
*($K$9<>Table1[Team2])
))),FALSE),
1+MOD(
INT((ROW()-ROW(Table1[Round]))/COUNTIFS(Table1[Round],1,Table1[Team1],"<>"&$K$9,Table1[Team2],"<>"&$K$9)),
COUNTIFS(Table1[Round],1,Table1[Team1],"<>"&$K$9,Table1[Team2],"<>"&$K$9)
)
),
1+MOD(ROW()-ROW(Table2[[#Headers],[Round]])-1,2)
),
""
)
Formula 3 - Formula dalam kolom H
tetap tidak berubah, diulangi di sini untuk kelengkapan:
=SUMPRODUCT(Table1[Score]*(Table2[[#This Row],[Round]]=Table1[Round])*(Table2[[#This Row],[Team]]=Table1[Team1])-Table1[Score]*(Table2[[#This Row],[Round]]=Table1[Round])*(Table2[[#This Row],[Team]]=Table1[Team2]))
Tabel pivot:
- Sumber data dari tabel pivot perlu diubah
Table2
.
- Itu
Team
bidang harus memiliki nilai kosong yang dipilih.
Tabel:
Table1
- Terapkan rumus pemformatan bersyarat berikut ini ke rentang $A$3:$D$8
:
=OR($B3=$K$9,$C3=$K$9)
Table1
- Terapkan format angka berikut ke kolom Score
:
0;-0;
Exclude
- Atur validasi data K9
ke daftar dropdown dengan sumber berikut:
=$J$3:$J$6
VBA:
Tambahkan kode berikut ke Modul Lembar lembar kerja:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$K$9" Then Exit Sub
With Application
.EnableEvents = False
Me.PivotTables(1).RefreshTable
.EnableEvents = True
End With
End Sub
Kode ini hanya me-refresh Pivot Table setiap kali nilai dalam tim yang dikecualikan berubah. Solusi ini tidak sepenuhnya diperlukan untuk bekerja, tetapi kemudian Anda harus melakukan penyegaran secara manual setelah mengubah tim (dengan mengklik kanan Tabel Pivot dan memilih "Refresh", misalnya).