Dalam spreadsheet, apakah mungkin untuk memisahkan baris menjadi grup yang tidak akan mengubah urutan ketika difilter?

3

Saya mencoba membuat subkelompok baris dalam baris spreadsheet saya sehingga saya dapat mengurutkan data tetapi memiliki baris dalam subkelompok tertentu tetap bersama. Ini mungkin paling mudah ditunjukkan dengan gambar.

Mengurutkan baris dalam subkelompok berdasarkan data kolom

masukkan deskripsi gambar di sini

Idealnya saya ingin menemukan cara untuk melakukan ini di spreadsheet Google, tetapi saya berani bertaruh bahwa itu tidak mungkin, jadi solusi untuk semua jenis program spreadsheet dipersilahkan.

gwenger
sumber
Selamat datang di SuperUser dan selamat telah menulis pertanyaan yang jelas. Agar ini berfungsi, di Excel saya akan menetapkan aturan penyortiran yang mengindeks nilai di sebelah kiri ke yang di sebelah kanan. Perlu melihat apakah Google melakukan hal yang sama, tetapi harus bisa dilakukan.
Doktoro Reichard
Anda pasti tidak harus memilih setiap kategori secara manual. Cukup buat kolom dengan nomor kategori di dalamnya dan urutkan berdasarkan yang pertama.
beroe

Jawaban:

1

Oke, di Google Spreadsheets:

  1. Saya membuat spreadsheet awal yang akan terlihat seperti ini (mengambil beberapa kebebasan artistik). Setengah bagian bawah belum diurutkan dan dengan demikian, sama dengan bagian atas:

    Tabel - Tidak diurutkan

  2. Pilih tiga kolom yang membuat Kategori 1, lalu pergi ke Data > Sort range.

    Sortir Rentang

  3. Dari sana, cukup ubah kolom preset (harus A) ke C (alias, kriteria ke-2).

    Sortir Range Dialog

  4. Bagian tabel ini sekarang disortir berdasarkan kriteria ke-2. Cukup ulangi ke kategori 2.

    Hasil akhir

  5. Hasil akhirnya harus menjadi meja Anda.

MEMPERBARUI:

Berdasarkan saran @beroe, saya bisa berbaikan sedikit lagi.

Pertama, Anda perlu menambahkan kolom tambahan, yang menetapkan Kategori Individual untuk masing-masing item. Meskipun ini layak dengan pengaturan data Anda saat ini, saya merasa itu adalah Hal yang Benar untuk Dilakukan untuk memiliki tabel seperti berikut:

Tabel - Data tidak disortir

Perhatikan bahwa saya belum mengurutkan data sesuai dengan kriteria ke-2 Anda. Perhatikan juga bahwa di sebelah kriteria ke-2 sekarang ada kolom yang berisi Kategori masing-masing item.

Pilih semua data, lalu buka Data > Sort Range. Di sana Urutkan pertama berdasarkan kolom D (kolom dengan Kategori), setelah tekan tambahkan kolom sortir lain, lalu tambahkan kolom yang sesuai dengan kriteria ke-2 (kolom C).

Mengapa ini berhasil adalah karena sebuah ide yang dimiliki perangkat lunak lembar bentang tentang prioritas. Karena itu, Google akan mencoba mengurutkan pertama berdasarkan kolom D. Setelah itu, ia akan mengurutkan semua data yang tersisa berdasarkan kolom C. Semua data yang tersisa sudah diurutkan.

Perhatikan bahwa urutan tempat saya meletakkan kolom adalah ini, karena alasan yang disebutkan sebelumnya. Jika Anda mencoba menempatkan Kolom C lalu kolom D, Anda tidak akan mendapatkan hasil yang diinginkan.

Sortasi Range - beberapa kolom

Hasil akhirnya adalah seperti ini:

Hasil akhir

Pada akhirnya, menambahkan kolom dengan informasi item adalah keputusan desain spreadsheet yang baik (jika ada sesuatu seperti ini ada).

Sebagai catatan terakhir, tampaknya Google Spreadsheet memiliki fungsi JavaScript secara default (yaitu, setara dengan Macro untuk Excel). Itu dapat diakses oleh Tools > Script Editor. Namun, saya tidak tahu cara menulis JavaScript. Pada akhirnya, jika Anda membutuhkan sesuatu yang lebih kompleks, Anda dapat menggunakan itu.

Doktoro Reichard
sumber
Ini pasti bekerja, tetapi apakah ada cara untuk melakukannya menggunakan fungsi filter? Saya membuat lembar suku cadang untuk beberapa teman lab saya, dan akan ada sekitar 7 subkelompok dan mungkin 10 kriteria yang berbeda, jadi saya mencoba mengotomatiskan ini sebanyak mungkin. Kita pasti bisa melakukannya dengan cara ini, itu hanya akan lebih lambat / lebih membosankan daripada solusi ideal saya (tidak ada?). Terima kasih!
gwenger
Fungsi filter dirancang hanya untuk itu - penyaringan . Apa ini penyortiran . Mungkin konsep awal Anda salah, jadi mungkin mundur selama 5 menit, menghirup sedikit udara, dan melihat masalah Anda dari perspektif yang berbeda mungkin membantu. (saat retrospeksi, mengaktifkan fungsi filter memungkinkan akses yang lebih mudah untuk disortir, jadi ini kompromi)
Doktoro Reichard
Benar, tetapi begitu saya mengaktifkan pemfilteran, ada menu dropdown pada label kolom yang memungkinkan saya untuk mengurutkan berdasarkan data. Saya kira saya hanya mencari kombinasi keduanya untuk memaksimalkan pilihan saya. Terima kasih atas bantuan Anda.
gwenger
@datatoo Saya sudah membaca posting Anda dan sepertinya diterima (walaupun saya belum mengujinya). Poster itu secara eksplisit menyatakan preferensi untuk Google Spreadsheets, bukan Excel. Nanti saya akan memperbarui posting ini dengan beberapa info yang Anda semua telah berkontribusi.
Doktoro Reichard
1

Cara termudah adalah dengan menambahkan kolom yang mengkodekan pengelompokan (misalnya, CategoryNum). Kemudian urutkan berdasarkan kolom itu terlebih dahulu dan Criteriakolom Anda kedua.

menyortir gambar

Jika Anda memasukkan kode Kategori Anda di baris-baris subjudul ( Category 1), urutan seluruh spreadsheet harus dipertahankan.

(Catatan: Untuk proses data yang Anda cobaotomatiskan, yang terbaik adalah mengatur data Anda dengan cara ini, alih-alih memecahnya secara visual dengan cara yang membuatnya sulit untuk diurai.)

beroe
sumber
0

Pertama Buat Named Ranges Anda dan kemudian adaptasi ini

Sub SortBySelectedCellColumn()
Dim cell As String
Dim srt As Integer
Dim nm As Name
 cell = ActiveCell.Address
 srt = ActiveCell.Column
For Each nm In ThisWorkbook.Names
   Range(nm).Select
   Selection.Sort _
    Key1:=Worksheets("Sheet1").Columns(srt), _
    Header:=xlGuess
Next
  Range(cell).Select
End Sub

masukkan deskripsi gambar di sini

Pilih sel di kolom yang ingin Anda urutkan

masukkan deskripsi gambar di sini

datatoo
sumber