วิธีการเพิ่มสตริงเช่น AA ถึง AB


10

ฉันมีสตริงใน Excel เหมือนหรือAAXA

ฉันต้องการเพิ่มพวกเขาเช่นนี้:

สำหรับAAในเซลล์ A1 มันจะอยู่ABในเซลล์ B1 ACในเซลล์ B2 และอื่น ๆ

สำหรับXAในเซลล์ A1 มันจะอยู่XBในเซลล์ B1 XCในเซลล์ B2 และอื่น ๆ

ฉันลองใช้รหัสยอดนิยม=CHAR(CODE(A1)+1)แต่ใช้งานไม่ได้หลังจาก Z

คำแนะนำใด ๆ ยินดีต้อนรับ


Does not work after Z? คุณหมายถึงหลังAZหรือZZ
Dave

สวัสดีเดฟฉันได้ลองใช้ AB แล้วและกำลังมองหาบีตั้งแต่
Andy K

หากสิ่งนี้เกี่ยวข้องกับวิธีที่ Excel อ้างถึง Cells ให้ลองหลีกเลี่ยงโดยใช้สัญลักษณ์ RC:File > Options > Formulas >R1C1 reference style
Dirk Horsten

สวัสดีเดิร์กขอบคุณมากสำหรับคำแนะนำ อย่างไรก็ตามทำไม
Andy K

1
หากคุณวางแผนที่จะใช้สตริงผลลัพธ์ในINDIRECTสูตรตัวอย่างเช่นความคิดเห็นของ @ DirkHorsten อาจคุ้มค่าที่จะสังเกต
CallumDA

คำตอบ:


11

ลองทำดังนี้: ใส่ "AA" ลงในเซลล์A1แล้วป้อนสูตรต่อไปนี้ลงในเซลล์B1แล้วลากข้าม

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

มันจะเพิ่มขึ้นดังนี้: AA, AB, AC, ... , AZ, BA, BB, BC .... เป็นต้น

คุณอาจต้องการปรับสูตรนี้เพื่อให้เหมาะกับงานนำเสนอเฉพาะของคุณ โปรดทราบว่านี่จะไม่ทำงานผ่าน "ZZ"

อัพเดท: แก้ไขข้อผิดพลาด


1
= IF (ขวา (A1) = "Z", CHAR (CODE (ซ้าย (A1)) + 1) ซ้าย (A1)) และ IF (ขวา (A1) <> "Z", CHAR (CODE (ขวา (A1) ) +1), CHAR (65))
26631

3

เราสามารถใช้สเปรดชีต excel ของตัวเองเพื่อช่วยเพิ่มตัวอักษร - การเพิ่มขึ้นจะทำงานจากAถึงXFC

ขั้นแรกสร้างการอ้างอิงเซลล์: INDIRECT(A1&"1")
จากนั้นหาที่อยู่ของคอลัมน์ถัดไป ADDRESS(1,COLUMN(INDIRECT(A10&"1"))+1)

จาก $ $ $ 1 เราจะแยกตัวอักษร: 2 วิธี:

  1. มองหา $ second และตัดข้อความออกระหว่างพวกเขา

    =MID(ADDRESS(1,COLUMN(INDIRECT(A1&"1"))+1),2,FIND("$",ADDRESS(1,COLUMN(INDIRECT(A1&"1"))+1),2)-2)
    
  2. แทนที่ 1 และ $ โดยไม่มีอะไรในสตริง

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

เลือกอันที่ดีที่สุดสำหรับคุณ


2
คุณสามารถหลีกเลี่ยงการแทนที่ "$" โดยการรวมอาร์กิวเมนต์ที่สามที่เป็นตัวเลือก4ไว้ในADDRESSฟังก์ชันเพื่อให้ส่งคืนการอ้างอิงเซลล์สัมพัทธ์ จากนั้นคุณเพียงแค่ต้องการสูตร:=SUBSTITUTE(ADDRESS(1,COLUMN(INDIRECT(A1&"1"))+1,4),"1","")
Excellll

2

ตัวอย่างอื่น: พิมพ์สิ่งนี้ลงในเซลล์ A1 จากนั้นคัดลอกสูตรไปยังเซลล์ใด ๆ หรือทุกเซลล์

= CHAR (MOD (ROW (A1) -1; 26) 65) และ CHAR (MOD (COLUMN (A1) -1; 26) 65)

มีไว้เพื่อเป็นตัวอย่างว่าคนหนึ่งอาจคิดเกี่ยวกับปัญหาได้อย่างไร


2

สิ่งนี้จะรีเซ็ตเป็น "A" เมื่อถึง "Z"

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

คุณสามารถสร้างมากกว่านั้นถ้ามีงบ

หรือ

ฉันเพิ่งเขียนสูตรนี้สำหรับสิ่งที่คล้ายกัน:

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

1

อีกวิธีหนึ่งสำหรับการใช้งานADDRESS()คือ:

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

สูตรด้านบนจะส่งคืนAAในแถวแรกและABแถวที่สองเป็นต้น

ด้วยการใช้คณิตศาสตร์สูตรคือ:

=CONCATENATE(CHAR(INT(ROW()/26)+65),CHAR(MOD(ROW()-1,26)+65))

1

ฉันใช้รหัสนี้เพื่อรับที่อยู่เซลล์

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

ตัวอย่างนี้มีไว้สำหรับAT17ที่อยู่ของเซลล์

การเพิ่มคุณกำหนดจำนวนที่จะเพิ่ม

Ax17ผมเขียนโค้ดนี้ไว้ในมือถือ

ต่อมาฉันได้รับค่าของAT17ด้วย

=INDIRECT(AX17)

เสร็จแล้ว !!!

ตอนนี้คุณสามารถเพิ่มคอลัมน์แทนที่จะเป็นแถวได้ !!!


0

นี่คือวิธีแก้ปัญหาของฉัน (เซลล์ A1 มี "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))

0

เติมคอลัมน์ A (จากแถวที่ 1) ด้วยหมายเลขที่ต่อเนื่องกันเริ่มต้นด้วย 0 ถึง 100 [หรือจนถึงข้อกำหนด]

เติม Cell B1 ด้วยสูตรด้านล่าง

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

คัดลอกสูตรจาก B1 ไปยังแถวอื่นในคอลัมน์ B [จนถึงแถวที่คุณเติมคอลัมน์ A]

ใช้ได้กับอักขระ 3 ตัวคือ AAA ถึง ZZZ

ต้องแก้ไขสูตรตามหมายเลข ของอักขระที่ต้องการ (AA ถึง ZZ / AAAAA ถึง ZZZZZ / ฯลฯ )


0

ฉันรู้ว่านี่เป็นคำถามหลักเล็กน้อยแต่ฉันคิดว่ามันตอบคำถามที่เต็มกว่านี้ ... หากคุณมีตัวอักษรใน A1 และคุณต้องการให้ตัวเลขใน B1 มีความหมายสูตรผสมต่อไปนี้จะได้มาจาก ตัวอักษรเดียวกับ 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)))

คัดลอกมันลงในคอลัมน์และผลลัพธ์จะมี เปลี่ยนหมายเลข B5 และการเปลี่ยนแปลงผลลัพธ์


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

2
คุณช่วยเพิ่มคำอธิบายเพิ่มเติมขยายคำตอบของคุณได้
ไหม

-1

สำหรับคอลัมน์ด้านล่างเป็นโซลูชันที่เหมาะสม

= IF (LEN (ADDRESS (1 คอลัมน์ ())) = 4 MID (ADDRESS (1 คอลัมน์ ()), 2,1) MID (ADDRESS (1 คอลัมน์ ()), 2,2))


3
ฉันไม่เห็นว่าสูตรของคุณตอบคำถาม "วิธีเพิ่มสตริงเช่น AA ถึง AB ได้อย่างไร"
MátéJuhász
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.