Excel: Bagaimana jika tim tertentu belum memasuki turnamen berbasis liga


0

enter image description here

Bayangkan sebuah turnamen di mana empat tim masuk seperti yang ditunjukkan pada gambar di atas. (Skor pada Tabel 1 menunjukkan skor untuk kedua tim; untuk Tim 2 tanda plus / minus terbalik.)

Bagaimana saya bisa melakukan analisis berikut:

Apa yang akan menjadi posisi final baru seandainya TeamC tidak memasuki turnamen? (Semua pertandingan TeamC harus diabaikan / dibuang.)

(Untuk berjaga-jaga, contoh file ada di sini )


6
Ya, Excel dapat melakukannya, Excel dapat melakukan banyak hal, untuk jawaban yang pasti meskipun Anda akan membutuhkan pertanyaan yang tepat untuk masalah tertentu, meminta cara untuk mendekati subjek hanya dapat menghasilkan jawaban berdasarkan pendapat
PeterH

Saya merasa bahwa pengeditan itu mengklarifikasi pertanyaan yang cukup untuk memenuhi syarat - kita perlu cara untuk memberi tahu tabel Tim / TotalScore di sebelah kiri hanya untuk menjumlahkan skor dari Table2 jika angka Putaran dan nama Tim tidak muncul secara berurutan dari Tabel1 di sepanjang dengan TeamC. Atau berikan sheet beberapa cara untuk mendiskon data dalam Table1 yang muncul di baris yang berisi string "TeamC" ...
Isaac Reefman

Penting untuk membantu saya merumuskan jawaban - rumus apa yang Anda gunakan untuk memindahkan data dari satu tabel ke yang berikutnya? Apakah semua data di tabel 1 dan 2 dimasukkan secara manual, atau apakah data di Table2 otomatis dihasilkan berdasarkan data di Table1?
Isaac Reefman

Jawaban:


2

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:

Worksheet Screenshot


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.

Pivot Table Setup Screenshot


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).


-1

Dengan tata letak Anda saat ini, Anda dapat menampilkan skor yang disesuaikan di tabel ketiga reguler (bukan tabel pivot yang saat ini Anda miliki) seperti ini:

Saya menggandakan lembar Anda dengan tabel biasa, bukan tabel pivot, dan menambahkan sel bernama "ExcludedTeam" sehingga saya bisa menambahkan kriteria ke SUMIFS fungsi untuk masuk dalam tabel terakhir.

=SUMIFS(Table1[Score],Table1[Team1],[@Team],Table1[Team2],"<>"&ExcludedTeam)-SUMIFS(Table1[Score],Table1[Team2],[@Team],Table1[Team1],"<>"&ExcludedTeam)

Dalam bahasa Inggris yang normal, ini mengatakan "tambahkan jumlah Skor dari Table1 (di mana Team1 cocok dengan Tim ini DAN Team2 tidak cocok dengan Tim yang Dikecualikan) ke terbalik dari jumlah Skor dari Table1 (di mana Team2 cocok dengan Tim ini dan Team1 tidak cocok dengan Tim yang Dikecualikan.) "

Tentu saja, Anda selalu bisa menuliskan kode nama tim yang dikecualikan ke dalam rumus, tetapi itu tidak mempengaruhi sama sekali ...

enter image description here

Jika Anda ingin skor TeamC dibaca sebagai 0, Anda harus menentukan bahwa Team1 dan Team2 & lt; & gt; Dikecualikan Tim di kedua bagian formula .


Sunting: Lebih banyak fungsi diperlukan sesuai komentar, saya jelaskan bagaimana menuju ke sana di bawah ini.

Untuk menghapus penyebutan tim yang dikecualikan dari semua tabel, Anda harus mengatur tabel satu di atas yang lain, sehingga menyembunyikan kolom di Table1 tidak akan menyembunyikan kolom di Table2 dan sebaliknya, atau sebagai alternatif menempatkannya di lembar terpisah .

Setelah Anda selesai melakukannya, buat makro yang menyala ketika Anda mengubah opsi yang dipilih ExcludedTeam yang mengatur .EntireRow.Hidden properti dari setiap sel di salah satu tabel yang .Value = ExcludedTeam.Value untuk true. Yang tersisa adalah mengubah spesifikasi tabel pivot Anda untuk menyaring tim itu, dan Anda sudah mendapatkannya.


Jika Anda tidak tahu cara memberi nama sel, tempat di sudut kiri atas gambar terlampir menunjukkan nama sel. Saat ini K3 dipilih. Cukup klik pada sel yang ingin Anda beri nama (B10 dalam gambar) lalu klik di ruang ini dan ketik apa yang Anda inginkan nama sel. Tetap angkat kepala - menamai ulang atau menghapus namanya bisa jadi menyebalkan.
Isaac Reefman

Terima kasih. (1) Saya tidak bisa membuat solusi Anda berfungsi. (2) Untuk menghapus atau mengganti nama klik sel CTRL + F3, dan Name Manager muncul. (3) Meskipun demikian saya mencari solusi di mana ketika sebuah tim dikecualikan, mereka tidak ditunjukkan dalam Klasemen
blackened

"mereka tidak ditunjukkan di klasemen" - apa yang Anda maksud dengan ini? Anda hanya ingin skor total mereka dibaca sebagai 0, atau Anda ingin dapat menghapus menyebutkan mereka dari semua tabel?
Isaac Reefman

"Saya tidak bisa membuat solusi Anda berfungsi" - bagaimana dengan itu tidak berfungsi? Apakah itu tidak muncul seperti yang saya tampilkan di gambar, atau Anda hanya mengatakan bahwa data dalam gambar bukan hasil yang Anda cari?
Isaac Reefman

Benar: (1) Saya ingin bisa menghapus menyebutkan mereka di tabel klasemen akhir. (2) Ketika saya menerapkan formula Anda, saya mendapatkan angka yang berbeda dari yang ditunjukkan pada gambar.
blackened
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.