Isi kandungan
Dalam tutorial ini, kita akan melihat cara menukar nombor lajur Excel kepada aksara abjad yang sepadan.
Apabila membina formula kompleks dalam Excel, kadangkala anda mungkin perlu mendapatkan huruf lajur sel tertentu atau daripada nombor tertentu. Ini boleh dilakukan dalam dua cara: dengan menggunakan fungsi terbina atau fungsi tersuai.
Cara menukar nombor lajur kepada abjad (lajur satu huruf)
Sekiranya nama lajur terdiri daripada satu huruf, dari A hingga Z, anda boleh mendapatkannya dengan menggunakan formula mudah ini:
CHAR(64 + col_number)Sebagai contoh, untuk menukar nombor 10 kepada huruf lajur, formulanya ialah:
=CHAR(64 + 10)
Ia juga mungkin untuk memasukkan nombor dalam beberapa sel dan merujuk kepada sel itu dalam formula anda:
=CHAR(64 + A2)
Cara formula ini berfungsi:
Fungsi CHAR mengembalikan aksara berdasarkan kod aksara dalam set ASCII. Nilai ASCII bagi huruf besar abjad Inggeris ialah 65 (A) hingga 90 (Z). Jadi, untuk mendapatkan kod aksara huruf besar A, anda menambah 1 hingga 64; untuk mendapatkan kod aksara huruf besar B, anda menambah 2 hingga 64 dan seterusnya.
Cara menukar nombor lajur Excel kepada huruf (mana-mana lajur)
Jika anda mencari yang serba boleh formula yang berfungsi untuk mana-mana lajur dalam Excel (1 huruf, 2 huruf dan 3 huruf), maka anda perlu menggunakan sintaks yang lebih kompleks:
SUBSTITUTE(ADDRESS(1, col_number, 4 ), "1", "")Denganhuruf lajur dalam A2, formula mengambil bentuk ini:
=SUBSTITUTE(ADDRESS(1, A2, 4), "1", "")
Cara formula ini berfungsi:
Mula-mula, anda membina alamat sel dengan bilangan lajur yang diminati. Untuk ini, berikan argumen berikut kepada fungsi ADDRESS:
- 1 untuk nombor_baris (nombor baris tidak begitu penting, jadi anda boleh menggunakan mana-mana).
- A2 (sel yang mengandungi nombor lajur) untuk column_num .
- 4 untuk abs_num argumen untuk mengembalikan rujukan relatif.
Dengan parameter di atas, fungsi ADDRESS mengembalikan rentetan teks "A1" sebagai hasilnya.
Memandangkan kami hanya memerlukan huruf lajur, kami menanggalkan nombor baris dengan bantuan fungsi SUBSTITUTE, yang mencari "1" (atau apa-apa nombor baris yang anda kod keras dalam fungsi ADDRESS) dalam teks "A1" dan menggantikannya dengan rentetan kosong ("").
Dapatkan huruf lajur daripada nombor lajur menggunakan fungsi tersuai Fungsi tersuai
Jika anda perlu menukar nombor lajur kepada aksara abjad secara tetap, maka fungsi takrif pengguna tersuai (UDF) boleh menjimatkan masa anda dengan sangat baik.
Kod fungsi itu cantik jelas dan mudah:
Surat Lajur Fungsi Awam(col_nu m) ColumnLetter = Split(Cells(1, col_num).Alamat, "$" )(1) End FunctionDi sini, kami menggunakan sifat Cells untuk merujuk kepada sel dalam baris 1 dan nombor lajur yang ditentukan dan harta Alamat untuk mengembalikan arentetan yang mengandungi rujukan mutlak kepada sel tersebut (seperti $A$1). Kemudian, fungsi Split memecahkan rentetan yang dikembalikan kepada elemen individu menggunakan tanda $ sebagai pemisah, dan kami mengembalikan elemen (1), iaitu huruf lajur.
Tampal kod dalam editor VBA dan anda fungsi ColumnLetter baharu sedia untuk digunakan. Untuk panduan terperinci, sila lihat: Cara memasukkan kod VBA dalam Excel.
Dari sudut pandangan pengguna akhir, sintaks fungsi adalah semudah ini:
ColumnLetter(col_num)Di mana col_num ialah nombor lajur yang anda mahu tukar menjadi huruf.
Formula sebenar anda boleh kelihatan seperti berikut:
=ColumnLetter(A2)
Dan ia akan kembali keputusan yang sama persis seperti fungsi Excel asli yang dibincangkan dalam contoh sebelumnya:
Cara mendapatkan huruf lajur sel tertentu
Untuk mengenal pasti huruf lajur bagi sel tertentu, gunakan fungsi COLUMN untuk mendapatkan semula nombor lajur dan menyampaikan nombor itu kepada fungsi ADDRESS. Formula lengkap akan mengambil bentuk ini:
GANTI(ALAMAT(1, COLUMN( alamat_sel), 4), "1", "")Sebagai contoh, mari cari huruf lajur sel C5:
=SUBSTITUTE(ADDRESS(1, COLUMN(C5), 4), "1", "")
Jelas sekali, hasilnya ialah "C" :)
Cara mendapatkan huruf lajur semasa sel
Untuk menyelesaikan huruf sel semasa, formulanya hampir sama seperti dalam contoh di atas. Satu-satunya perbezaan ialah fungsi COLUMN() ialahdigunakan dengan hujah kosong untuk merujuk kepada sel yang mengandungi formula:
=SUBSTITUTE(ADDRESS(1, COLUMN(), 4), "1", "")
Cara membuat rujukan julat dinamik daripada nombor lajur
Mudah-mudahan, contoh sebelumnya telah memberi anda beberapa subjek baharu untuk difikirkan, tetapi anda mungkin tertanya-tanya tentang aplikasi praktikal.
Dalam contoh ini, kami akan menunjukkan kepada anda cara menggunakan "nombor lajur kepada huruf " formula untuk menyelesaikan tugas kehidupan sebenar. Khususnya, kami akan mencipta formula XLOOKUP dinamik yang akan menarik nilai daripada lajur tertentu berdasarkan nombornya.
Daripada jadual contoh di bawah, katakan anda ingin mendapatkan angka keuntungan untuk projek tertentu (H2 ) dan minggu (H3).
Untuk menyelesaikan tugas, anda perlu menyediakan XLOOKUP dengan julat untuk mengembalikan nilai. Memandangkan kami hanya mempunyai nombor minggu, yang sepadan dengan nombor lajur, kami akan menukar nombor itu kepada huruf lajur dahulu, dan kemudian membina rujukan julat.
Untuk kemudahan, mari kita pecahkan keseluruhan proses kepada 3 langkah yang mudah diikuti.
- Tukar nombor lajur kepada huruf
Dengan nombor lajur dalam H3, gunakan formula yang sudah biasa untuk menukarnya kepada abjad watak:
=SUBSTITUTE(ADDRESS(1, H3, 4), "1", "")
Petua. Jika nombor dalam set data anda tidak sepadan dengan nombor lajur, pastikan anda membuat pembetulan yang diperlukan. Contohnya, jika kita mempunyai data minggu 1 dalam lajur B, data minggu 2 dalam lajur C danseterusnya, maka kami akan menggunakan H3+1 untuk mendapatkan nombor lajur yang betul.
- Membina rentetan yang mewakili rujukan julat
Untuk membina rujukan julat dalam bentuk rentetan, anda menggabungkan huruf lajur yang dikembalikan oleh formula di atas dengan yang pertama dan nombor baris terakhir. Dalam kes kami, sel data berada dalam baris 3 hingga 8, jadi kami menggunakan formula ini:
=SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "3:" & SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "8"
Memandangkan H3 mengandungi "3", yang ditukar kepada "C", formula kami mengalami transformasi berikut:
="C"&"3:"&"C"&"8"
Dan menghasilkan rentetan C3:C8.
- Buat rujukan julat dinamik
Untuk mengubah rentetan teks menjadi rujukan yang sah yang Excel boleh faham, sarangkan formula di atas dalam fungsi INDIRECT, dan kemudian hantarkannya ke argumen ke-3 XLOOKUP:
=XLOOKUP(H2, E3:E8, INDIRECT(H4), "Not found")
Untuk menyingkirkan sel tambahan yang mengandungi rentetan julat kembali, anda boleh meletakkan formula ALAMAT PENGGANTI dalam fungsi INDIRECT itu sendiri:
=XLOOKUP(H2, E3:E8, INDIRECT(SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "3:" & SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "8"), "Not found")
Dengan fungsi ColumnLetter tersuai kami, anda boleh mendapatkan penyelesaian yang lebih padat dan elegan:
=XLOOKUP(H2, E3:E8, INDIRECT(ColumnLetter(H3) & "3:" & ColumnLetter(H3) & "8"), "Not found")
Itulah bagaimana untuk mencari huruf lajur daripada nombor dalam Excel. Saya mengucapkan terima kasih kerana membaca dan berharap dapat berjumpa anda di blog kami minggu hadapan!
Latihan buku kerja untuk muat turun
Nombor lajur Excel hingga huruf - contoh (fail.xlsm)