Bagaimana cara menambahkan string seperti AA ke AB?

10

Saya memiliki string di Excel seperti AAatau XA.

Saya perlu menambah mereka seperti ini:

Untuk AAdi sel A1, itu akan ABdi sel B1, ACdi sel B2 dan seterusnya.

Untuk XAdi sel A1, itu akan XBdi sel B1, XCdi sel B2 dan seterusnya.

Saya mencoba kode populer =CHAR(CODE(A1)+1)tetapi tidak berfungsi setelah Z.

Ada petunjuk yang diterima.

Andy K
sumber
Does not work after Z? Apakah maksud Anda setelah AZatauZZ
Dave
Hai Dave, saya sudah mencoba AB dan sudah mencari B sejak itu.
Andy K
Jika ini ada hubungannya dengan cara Excel merujuk ke Sel, pertimbangkan untuk menghindarinya dengan bekerja dengan notasi RC:File > Options > Formulas >R1C1 reference style
Dirk Horsten
Hai Dirk, terima kasih banyak atas sarannya. Namun mengapa?
Andy K
1
Jika Anda berencana untuk menggunakan string yang dihasilkan dalam INDIRECTformula misalnya, maka komentar @ DirkHorsten mungkin perlu diperhatikan.
CallumDA

Jawaban:

11

Coba ini: masukkan "AA" ke sel A1 dan masukkan rumus berikut ke dalam sel B1 dan seret ke seberang

=IF(RIGHT($A1,1)="Z", CHAR(CODE(LEFT(A1,1))+1),LEFT(A1,1))&CHAR(65+MOD(CODE(RIGHT(A1,1))+1-65,26))

Ini akan bertambah sebagai berikut: AA, AB, AC, ..., AZ, BA, BB, BC .... dll

Anda mungkin ingin menyesuaikan formula ini agar sesuai dengan presentasi khusus Anda. Harap dicatat bahwa ini tidak akan berfungsi setelah "ZZ".

Perbarui: bug diperbaiki

CallumDA
sumber
1
= JIKA (KANAN (A1) = "Z", CHAR (KODE (KIRI (A1)) + 1), KIRI (A1)) & JIKA (KANAN (A1) <> "Z", CHAR (KODE (KANAN (A1)) ) +1), CHAR (65))
user26631
3

Kita dapat menggunakan lembar bentang excel itu sendiri untuk membantu meningkatkan huruf - kenaikan akan bekerja dari AhinggaXFC

Pertama-tama buat referensi sel: INDIRECT(A1&"1")
Kemudian cari alamat kolom berikutnya di atas: ADDRESS(1,COLUMN(INDIRECT(A10&"1"))+1)

Kemudian dari $ ?? $ 1 kami mengekstrak surat: 2 cara:

  1. Cari $ 2, dan ambil teks di antara mereka

    =MID(ADDRESS(1,COLUMN(INDIRECT(A1&"1"))+1),2,FIND("$",ADDRESS(1,COLUMN(INDIRECT(A1&"1"))+1),2)-2)
    
  2. Ganti 1 dan $ dengan tidak ada dalam string

    =SUBSTITUTE(SUBSTITUTE(ADDRESS(1,COLUMN(INDIRECT(A1&"1"))+1),"$",""),"1","")
    

Pilih mana yang paling cocok untuk Anda

SeanC
sumber
2
Anda dapat menghindari penggantian "$" dengan memasukkan argumen ketiga opsional 4dalam ADDRESSfungsi untuk membuatnya mengembalikan referensi sel relatif. Maka Anda hanya perlu formula:=SUBSTITUTE(ADDRESS(1,COLUMN(INDIRECT(A1&"1"))+1,4),"1","")
Excellll
2

Contoh lain: Ketik ini ke sel A1, lalu salin rumus ke salah satu atau semua sel.

= CHAR (MOD (ROW (A1) -1; 26) +65) & CHAR (MOD (COLUMN (A1) -1; 26) +65)

Dimaksudkan sebagai contoh bagaimana seseorang berpikir tentang masalah tersebut.

Hannu
sumber
2

Ini akan mengatur ulang ke "A" ketika mencapai "Z"

=IF(A1="Z", "A", CHAR(CODE(A1)+1))

Anda dapat membangun lebih dari itu dengan pernyataan if lebih banyak.

ATAU

Saya baru saja menulis formula ini untuk sesuatu yang serupa:

IF(RIGHT(C2,1)="Z",IF(RIGHT(C2,2)="ZZ","A",CHAR(CODE(MID(C2,5,1))+1)),MID(C2,5,1))&IF(RIGHT(C2,1)="Z","A",CHAR(CODE(MID(C2,6,1))+1))
Nick Fleetwood
sumber
1

Sebagai solusi lain untuk menggunakannya ADDRESS()adalah:

=MID(ADDRESS(1,26+ROW()),2,2)

Formula di atas akan kembali AAdi baris pertama dan ABdi baris kedua dan seterusnya.

Juga dengan menggunakan matematika rumusnya adalah:

=CONCATENATE(CHAR(INT(ROW()/26)+65),CHAR(MOD(ROW()-1,26)+65))
shA.t
sumber
1

Saya menggunakan kode ini untuk mendapatkan alamat Sel

=ADDRESS(ROW($AT$17),COLUMN($AT$17)+Increment,4,1)

Contoh ini untuk AT17alamat sel.

Bertambah Anda menentukan berapa banyak angka yang akan Anda tambahkan

Saya menulis kode ini di sel Ax17.

Kemudian saya memperoleh nilai AT17dengan

=INDIRECT(AX17)

Selesai !!!

Sekarang Anda dapat menambah kolom alih-alih baris !!!

Mark Twain
sumber
0

Ini solusi saya (sel A1 berisi "AA"):

=IF(CHAR(CODE(RIGHT(A2;1))+1)="[";CHAR(CODE(LEFT(A2;1))+1);CHAR(CODE(LEFT(A2;1))))&IF(CHAR(CODE(RIGHT(A2;1))+1)="[";CHAR(65);CHAR(CODE(RIGHT(A2;1))+1))
Ivanoff
sumber
0

Isi Kolom A (dari baris 1) dengan angka berurutan mulai dengan 0 hingga 100 [atau hingga persyaratan]

Isi Sel B1 dengan formula di bawah ini

=CONCATENATE(CHAR(MOD(QUOTIENT(A1,26*26),26)+65),CHAR(MOD(QUOTIENT(A1,26),26)+65),CHAR(MOD(A1,26)+65))

Salin rumus dari B1 ke baris lain di Kolom B [hingga baris yang Anda isi Kolom A]

Ini berfungsi untuk 3 karakter AAA hingga ZZZ

Formula perlu dimodifikasi sesuai no. karakter yang diperlukan (AA ke ZZ / AAAAA ke ZZZZZ / dll)

Sundar
sumber
0

Saya tahu ini sedikit keluar dari pertanyaan utama, tapi saya pikir ini menjawab pertanyaan yang lebih lengkap ... Jika Anda memiliki huruf dalam A1, dan Anda ingin diinjak dengan angka di B1, rumus kombo berikut akan mencapainya dari satu huruf ke ZZ.

 =IF(LEN(A1)>1,IF((CODE(RIGHT(A1,1))+$B$1)>CODE("Z"),CHAR(CODE(LEFT(A1,1))+1)&CHAR(CODE(RIGHT(A1,1))-21),LEFT(A1,1)&CHAR(CODE(RIGHT(A1,1))+$B$1)),IF((CODE(A1)+$B$1)>CODE("Z"),"A"&CHAR(CODE(A1)-21),CHAR(CODE(A1)+$B$1)))

Salin ke bawah kolom dan hasilnya ada di sana. Ubah nomor B5 dan hasilnya berubah.

Graham Porter
sumber
-1
=IF(AND(LEN(G1)=1,G1="Z"), "AA", IF(LEN(G1)=1, CHAR(CODE(G1)+1), IF(RIGHT(G1,1)<>"Z", LEFT(G1,1)&CHAR(CODE(RIGHT(G1,1))+1), CHAR(CODE(G1)+1)&"A")))
pengguna560874
sumber
2
Bisakah Anda menambahkan beberapa penjelasan,
lanjutkan
-1

Untuk Kolom, di bawah ini adalah solusi yang tepat.

= JIKA (LEN (ALAMAT (1, KOLOM ()))) = 4, MID (ALAMAT (1, KOLOM ()), 2,1), MID (ALAMAT (1, KOLOM (), 2,2))

pengguna2459372
sumber
3
Saya tidak melihat bagaimana rumus Anda menjawab pertanyaan "Bagaimana cara menambahkan string seperti AA ke AB?".
Máté Juhász