ลบทุกอย่างไปทางขวาและซ้ายของเครื่องหมายอัฒภาค


2

ฉันมีเซลล์สองเซลล์นี้:

35hz 24.5/jy;8243-9884;100093 and 
aslhz/45.77;94-224444;103944234

ฉันพยายามแยกตัวเลขระหว่างเซมิโคลอน ฉันใช้ฟังก์ชั่น:

=RIGHT(A1, FIND(";",A1)-1)

แต่จะลบมากกว่าสิ่งที่อยู่ถัดจากเซมิโคลอน มีบางอย่างผิดปกติกับสูตรหรือไม่

คำตอบ:


3

ด้วย data ในA1ในB1 ให้ป้อน:

=TRIM(MID(SUBSTITUTE($A1,";",REPT(" ",999)),2*999-998,999))

ป้อนคำอธิบายรูปภาพที่นี่

แก้ไข # 1:

ทำให้2เป็น1จะได้รับทุกอย่างก่อนที่จะเป็นครั้งแรก; .
ทำให้2เป็น3ที่จะได้รับทุกอย่างหลังจากที่สอง; .


กำลังคิดนอกกรอบฉันจะให้คุณ ... !
Jonno

@Jonno ดูการแก้ไข
Gary's Student

2

RIGHT(CELL,LEN) ให้ตัวอักษร LEN ทางด้านขวาแก่คุณในขณะที่ FIND จะส่งกลับอัฒภาคแรก

คุณต้องการสิ่งนี้:

A1 35hz 24.5/jy;8243-9884;100093
B1 =FIND(";",A1)
C1 =RIGHT(A1,LEN(A1)-B1)
D1 =FIND(";",C1)
E1=LEFT(C1,D1-1)

เมื่อคุณเห็นวิธีการทำงานคุณสามารถรวมสูตรเป็นเซลล์เดียว

คุณควรเห็นค่า8243-9884ใน E1


2

ใช้ Excel Flash Fill (2013 และใหม่กว่า): ด้วยข้อความในคอลัมน์ที่ต่อเนื่องกันให้พิมพ์ผลลัพธ์แรกที่ต้องการจากนั้นเริ่มพิมพ์ผลลัพธ์ที่ต้องการครั้งที่สองและดู Flash Fill แนะนำผลลัพธ์

ดูสิไม่มีสูตร!

ป้อนคำอธิบายรูปภาพที่นี่

แก้ไข:

เติมแฟลชยังช่วยให้คุณแก้ไขข้อบกพร่องในตรรกะที่ตรวจพบ ในภาพหน้าจอด้านล่างแถว 6 และ 7 เริ่มต้นใช้คำสุดท้ายของคอลัมน์ C หลังจากแก้ไขแถว 6 เป็นคำสุดท้ายวินาทีแถวที่ 7 จะปรับกฎใหม่โดยอัตโนมัติและแสดง "เป็น" แทนที่จะเป็น "ดี"

ป้อนคำอธิบายรูปภาพที่นี่


ความคิดที่ดี! มีวิธีใช้กับหลาย ๆ เซลล์ (100+) หรือไม่
MátéJuhász

@ MátéJuhászแน่นอน Flash Fill เริ่มทำงานเมื่อรู้จักรูปแบบในข้อมูลและทำงานได้ดีที่สุดเมื่อข้อมูลมีความสอดคล้องกัน ในตัวอย่างข้างต้นจะรับรู้ว่าข้อความระหว่างอัฒภาคทั้งสองนั้นเป็นสิ่งที่ต้องการ ในสถานการณ์ที่ซับซ้อนยิ่งขึ้นการเติมแฟลชแนะนำและคุณสามารถแก้ไขเพื่อแก้ไขผลลัพธ์ซึ่งจะนำไปใช้กับผลลัพธ์ที่คล้ายกัน มันเป็นอัลกอริธึมที่น่าทึ่ง สำหรับงานล้างครั้งเดียวการเติมแฟลชมักจะมีประสิทธิภาพมากกว่าสูตรซ้าย / ขวา / กลาง / ค้นหา / แทน
teylyn

@ MátéJuhászดูการแก้ไขของฉันสำหรับตัวอย่างที่เกี่ยวข้องกับคอลัมน์ต่าง ๆ และแก้ไขผลลัพธ์
teylyn

เป็นที่น่าสังเกตว่าสิ่งนี้จะไม่อัปเดตหากค่าเปลี่ยนแปลงในเซลล์ดั้งเดิมซึ่งเซลล์สูตรจะเปลี่ยนแปลงหากค่าเดิมถูกปรับเปลี่ยน
Jonno

ถูกตัอง. การเติมแฟลชเหมาะอย่างยิ่งสำหรับการแปลงครั้งเดียว สำหรับสถานการณ์ที่ทำซ้ำได้ให้ใช้สูตรหรือ Power Query ที่ดีกว่า
teylyn

1

คุณสามารถทำเช่นนี้เพื่อรับหมายเลขกลาง

=MID(A1,(FIND(";",A1)+1),(FIND(";",A1,(FIND(";",A1)+1))-(FIND(";",A1)+1)))

MID ให้สตริงกับคุณโดยเริ่มจากอักขระที่กำหนดและความยาวที่ระบุ เราค้นหา ";" เป็นครั้งแรก โดยใช้ FIND และใช้สำหรับการเริ่มต้น

ตอนนี้เราต้องการความยาวและการที่เราต้องค้นหาที่สอง ";" เช่นกันและเราจะทำมันอีกครั้งโดย FIND แต่เริ่มที่ตำแหน่งหลังจากตัวแรก ";" ส่วนนี้ทำให้เราอยู่ในอันดับที่ 2 ";":

FIND(";",A1,(FIND(";",A1)+1))

จากนั้นเราลดตำแหน่งของอันดับที่ 1 ";" เพื่อรับความยาวและรวมทุกอย่างในสูตรด้านบน โปรดทราบว่าหากเซลล์ของคุณไม่มีอัฒภาคอย่างน้อย 2 สูตรจะส่งคืนข้อผิดพลาด

หากคุณต้องการหมายเลขสุดท้ายคุณต้องมีหมายเลข ";" เพื่อให้คุณสามารถใช้:

=RIGHT(A1,LEN(A1)-FIND(";",A1,(FIND(";",A1)+1)))

วิธีรับหมายเลขแรกนั้นง่ายที่สุด:

=LEFT(A1,FIND(";",A1)-1)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.