Page 1 of 1
ต้องการแทนที่ข้อความใน ประโยค โดยหาจากข้อความ ในช่วงเซลล์ ครับ
Posted: Fri Jul 05, 2019 10:17 am
by ninlapad
A1 เป็นข้อความเป็นประโยค ต้องการ ค้นหาข้อความ ที่ตรงข้อความในแถวC แล้วเปลี่ยนเป็นข้อความที่อยู่ในแถวD
เช่น ถ้าตรงกับ C2 ให้เปลี่ยนเป็น D2 , ถ้าตรงกับ C3 ให้เปลี่ยนเป็น D3
(A2 คือตัวอย่างประโยคที่ต้องการ) ทำอย่างไรครับ
Re: ต้องการแทนที่ข้อความใน ประโยค โดยหาจากข้อความ ในช่วงเซลล์ ครับ
Posted: Fri Jul 05, 2019 11:45 am
by Supachok
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,$C$2,$D$2),$C$3,$D$3),$C$4,$D$4),$C$5,$D$5)
ลองดูครับปล. คำซ้ำอาจมีปัญหา
Re: ต้องการแทนที่ข้อความใน ประโยค โดยหาจากข้อความ ในช่วงเซลล์ ครับ
Posted: Fri Jul 05, 2019 1:17 pm
by ninlapad
Supachok wrote: Fri Jul 05, 2019 11:45 am
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,$C$2,$D$2),$C$3,$D$3),$C$4,$D$4),$C$5,$D$5)
ลองดูครับปล. คำซ้ำอาจมีปัญหา
ขอบคุณครับ ทดลองดูแล้ว มีปัญหาตรงคำซ้ำจริงๆครับ ข้าวราดแกง เป็นพืชราดแกง
Re: ต้องการแทนที่ข้อความใน ประโยค โดยหาจากข้อความ ในช่วงเซลล์ ครับ
Posted: Fri Jul 05, 2019 4:59 pm
by Bo_ry
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1&" ",$C$2&" ",$D$2&" "),$C$3&" ",$D$3&" "),$C$4&" ",$D$4&" "),$C$5&" ",$D$5&" ")
ถ้ามีคำเยอะต้องใช้ SUBSTITUTE ซ้อนกันไปเรื่อยๆ
ถ้าใช้ Excel365 มีคำเยอะๆ แก้แค่ตรง $D$9 ให้เลขเยอะขึ้น
=TEXTJOIN(" ",,IFERROR(VLOOKUP(T(IF(1,TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",99)),COLUMN(A$1:J$1)*99-98,99)))),$C$2:$D$9,2,),TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",99)),COLUMN(A$1:J$1)*99-98,99))))
กด Ctrl+Shift+Enter
Re: ต้องการแทนที่ข้อความใน ประโยค โดยหาจากข้อความ ในช่วงเซลล์ ครับ
Posted: Fri Jul 05, 2019 5:14 pm
by Supachok
Re: ต้องการแทนที่ข้อความใน ประโยค โดยหาจากข้อความ ในช่วงเซลล์ ครับ
Posted: Fri Jul 05, 2019 5:45 pm
by ninlapad
Bo_ry wrote: Fri Jul 05, 2019 4:59 pm
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1&" ",$C$2&" ",$D$2&" "),$C$3&" ",$D$3&" "),$C$4&" ",$D$4&" "),$C$5&" ",$D$5&" ")
ถ้ามีคำเยอะต้องใช้ SUBSTITUTE ซ้อนกันไปเรื่อยๆ
ถ้าใช้ Excel365 มีคำเยอะๆ แก้แค่ตรง $D$9 ให้เลขเยอะขึ้น
=TEXTJOIN(" ",,IFERROR(VLOOKUP(T(IF(1,TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",99)),COLUMN(A$1:J$1)*99-98,99)))),$C$2:
$D$9,2,),TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",99)),COLUMN(A$1:J$1)*99-98,99))))
กด Ctrl+Shift+Enter
ขอบคุณครับ
=TEXTJOIN(" ",,IFERROR(VLOOKUP(T(IF(1,TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",99)),COLUMN(A$1:J$1)*99-98,99)))),$C$2:
$D$9,2,),TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",99)),COLUMN(A$1:J$1)*99-98,99))))
กด Ctrl+Shift+Enter
สูตรนี้ใช้งานได้ครับ พอลองกับประโยคอื่นยาวๆ ที่มีเว้นวรรค ไม่แน่นอนแล้ว ออกมาไม่ตรงครับ อาจต้องใช้ SUBSTITUTE ต่อกันเรื่อยๆ ตามที่แนะนำครับ ขอบคุณครับ
Re: ต้องการแทนที่ข้อความใน ประโยค โดยหาจากข้อความ ในช่วงเซลล์ ครับ
Posted: Fri Jul 05, 2019 7:24 pm
by puriwutpokin
ุุ้ถ้าสูตรเว้นวรรค ใช้ได้นะครับ ใช้ Trim(Range) เข้าช่วยครับ
Re: ต้องการแทนที่ข้อความใน ประโยค โดยหาจากข้อความ ในช่วงเซลล์ ครับ
Posted: Fri Jul 05, 2019 7:44 pm
by Bo_ry
วรรคไม่แน่นอนไม่เป็นไรแต่ต้องมีวรรคระหว่างคำ
COLUMN(A$1:J$1) รองรับ 10 วรรค เปลี่ยนเป็น COLUMN(A$1:Z$1) รองรับ 26 วรรค
99 รองรับความยาวข้อความ 99 ตัวอักษร เปลี่ยนเป็น 299
=TEXTJOIN(" ",,IFERROR(VLOOKUP(T(IF(1,TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",299)),COLUMN(A$1:Z$1)*299-298,299)))),$C$2:$D$9,2,),TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",299)),COLUMN(A$1:Z$1)*299-298,299))))
Ctrl+Shift+Enter
Re: ต้องการแทนที่ข้อความใน ประโยค โดยหาจากข้อความ ในช่วงเซลล์ ครับ
Posted: Sun Jul 07, 2019 11:16 am
by ninlapad
Bo_ry wrote: Fri Jul 05, 2019 7:44 pm
วรรคไม่แน่นอนไม่เป็นไรแต่ต้องมีวรรคระหว่างคำ
COLUMN(A$1:J$1) รองรับ 10 วรรค เปลี่ยนเป็น COLUMN(A$1:Z$1) รองรับ 26 วรรค
99 รองรับความยาวข้อความ 99 ตัวอักษร เปลี่ยนเป็น 299
=TEXTJOIN(" ",,IFERROR(VLOOKUP(T(IF(1,TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",299)),COLUMN(A$1:Z$1)*299-298,299)))),$C$2:$D$9,2,),TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",299)),COLUMN(A$1:Z$1)*299-298,299))))
Ctrl+Shift+Enter
ใช้งานได้สมบูรณ์แล้ว ครับ ขอบคุณมากครับ
ขอสอบถามเพิ่มความรู้ เว้นวรรค เป็นตัวแปรสำคัญไหมครับ ถ้าเราไม่ใช้เว้นวรรค สามารถแทนข้อความในประโยค โดยใช้ข้อความในตารางหรือช่วงเซลล์ ได้ไหมครับ ขอบคุณครับ
Re: ต้องการแทนที่ข้อความใน ประโยค โดยหาจากข้อความ ในช่วงเซลล์ ครับ
Posted: Sun Jul 07, 2019 6:53 pm
by Bo_ry
ลองเอาตัวอย่างมาดู