Di Excel, apakah mungkin untuk mengurutkan alfanumerik dari a-1, a-2, a-3 ... a-123 alih-alih-1, a-10, a-100, a-11?
Menyortir dari terlama ke terbaru atau melalui AZ, pasti tidak akan memberi saya hasil yang saya inginkan. Saya sudah mencoba memformat sel sebagai angka, tetapi tidak membantu.
Aku terjebak.
microsoft-excel
sorting
beccabecca
sumber
sumber
Jawaban:
User @ fixer1234 benar, Anda mungkin ingin menggunakan fungsi string. Inilah salah satu cara untuk melakukannya.
Langkah 1
[Diperbarui]
Di kolom "Angka", sorot rentang, lalu bagi teks pada tanda hubung: do ...
Data
>Text to Columns
>Delimited
>Next
>Other: -
>Finish
Perhatikan Anda membutuhkan tanda hubung ( - ) di
Other:
kotak teks. Dan pastikan kolom yang berdekatan (di sebelah kanan) kosong sebelum Anda melakukan ini, sehingga Anda tidak menimpa data penting.Anda juga dapat menggunakan fungsi ini untuk mengekstrak angka dari kolom A:
Langkah 2
Sekarang, apa yang akan kita lakukan pada langkah selanjutnya, seperti yang Anda tahu dari tangkapan layar di atas, adalah menambahkan nol ke awal setiap angka yang memiliki angka lebih sedikit daripada angka terbesar. Ini akan memungkinkan Anda untuk mengurutkan angka-angka ini sesuai keinginan Anda.
Tapi pertama-tama, kita perlu melakukan sedikit pencarian fakta. Jika Anda dapat mengetahui dengan mudah apa angka terbesarnya, maka hitung saja angka dalam angka terbesar itu - ini akan menjadi angka nol yang ingin Anda gunakan dalam fungsi kami berikutnya. Ada cara lain untuk menentukan angka terpanjang, tanpa harus menghitung angka angka terbesar secara manual.
[UPDATE] Anda dapat menggunakan fungsi berikut (meskipun sejauh ini kami tidak tahu mengapa ) untuk menentukan angka terpanjang:
Atau, Anda bisa mengetik rumus berikut ke dalam sel (Anda melihat ini pada gambar di atas sebagai sel yang disorot oranye), tetapi alih-alih hanya menekan
ENTER
tombol Anda untuk mengatur sel, tekan tombol pintasCTRL-SHIFT-ENTER
. Ini akan mengubah sifat fungsi, mengubahnya menjadi formula array , tanpa harus mempermainkan fungsi sepertiINDEX()
.(Pastikan rentangnya akurat untuk spreadsheet spesifik yang Anda gunakan.)
Setelah Anda menekan
CTRL-SHIFT-ENTER
, konten sel akan berubah menjadi ini, tetapi mengetik ini secara manual tidak akan menghasilkan apa-apa:Namun Anda ingin melakukannya dengan baik. Cukup tentukan berapa banyak digit yang membentuk angka terbesar dalam daftar Anda: "1" tentu saja memiliki 1 digit, "10" memiliki 2 digit, "100" memiliki 3 digit, dan sebagainya.
Langkah 3
Akhirnya, di kolom "Perluas", fungsi ini akan mengubah angka dari kolom "Angka" menjadi teks dengan jumlah nol sebelumnya yang Anda tentukan harus Anda gunakan di Langkah 2.
Pastikan Anda meletakkan tanda kutip di sekitar nol.
Jika angka terbesar memiliki 8 digit, maka fungsi Anda akan terlihat seperti ini:
sumber
Solusi sederhana adalah dengan menggunakan fungsi string untuk menempatkan nilai numerik dalam kolom baru sebagai angka. Kemudian urutkan pada kolom itu. Anda tidak menentukan bagaimana nilainya mungkin berbeda atau bagaimana mereka diatur, tetapi sebuah contoh:
Asumsikan awalan "a-" tidak pernah berubah, entri berada dalam kolom A mulai dari baris 2, dan kolom B tersedia. Di B2, Anda akan meletakkan sesuatu seperti: = value (mid (a2,3, len (a2) -2)) dan kemudian salin rumus yang diperlukan. Untuk mengurutkan, sorot kedua kolom dan urut B.
Jika ada awalan lain, katakanlah b-, c-, dll., Yang sama membagi bagian teks ke kolom lain. Kemudian urutkan pada kolom teks sebagai kolom urut pertama dan kolom angka sebagai yang kedua.
Semua yang Anda sorot akan diurutkan berdasarkan kolom sortir.
Untuk menjelaskan fungsi string, mulailah dengan fungsi pertengahan, yang mengekstrak string karakter dari dalam string karakter. mid (a2,3, len (a2) -2) melihat teks dalam a2, dimulai dengan karakter ketiga (digit pertama dengan asumsi semua awalannya adalah "a-"), dan kemudian mengambil jumlah karakter yang dua lebih sedikit dari angka dalam teks asli (panjang teks asli dikurangi karakter "a-"). Fungsi nilai kemudian mengubah hasil itu menjadi angka, bukan string karakter numerik.
sumber
Saya memiliki data berikut:
Saya ingin siswa dan tanda diatur sesuai dengan nomor pendaftaran mereka, yang merupakan string alfanumerik. Hasil akhir harus seperti ini:
Bagaimana cara:
Meskipun snapshot di atas sudah jelas, namun langkah-langkahnya adalah sebagai berikut:
Ekstrak bagian alfabet dalam kolom menggunakan
=LEFT(B4, 2)
rumus, di mana '2' menunjukkan jumlah huruf dalam string dan string saya mulai dariB4
.Tetapkan nomor untuk bagian alfabet ini menggunakan
=COLUMN(INDIRECT(E4&1))
Ekstrak bagian numerik dari nomor pendaftaran menggunakan
=RIGHT(B4,2)
rumus. Di sini '2' adalah no. angka dalam string.Menggabungkan dua bagian dalam 2 dan 3
Konversikan ke angka 'murni' menggunakan
=VALUE(H4)
Salin kolom terakhir ke tabel asli dan gunakan opsi Tempel sebagai 'Nilai'
Sekarang, urutkan berdasarkan kolom terakhir dan pilih 'Perluas pilihan'
Selesai !!!
Penting: Pro-Tip -> Gabungkan langkah-langkah dari 1 hingga 5 menggunakan
=VALUE(CONCATENATE(COLUMN(INDIRECT(LEFT(B4,2)&1)),RIGHT(B4,2)))
sumber