6 พ.ค. 2019 เวลา 04:27 • ธุรกิจ
สวัสดีครับ วันนี้ผมจะมานำเสนอฟังก์ชันที่ยังเกี่ยวข้องกับตัวอักษรหรือข้อความอยู่ครับ คือฟังก์ชัน SUBSTITUTE และฟังก์ชัน REPT และการนำไปประยุกต์ใช้กับฟังก์ชัน RIGHT
1. SUBSTITUTE แปลว่า แทนค่า ความสามารถก็ตรงตัวเลยครับ คือสามารถเปลี่ยนแทนตัวอักขระหรือตัวอักษรในข้อความด้วยตัวอักษรที่ต้องการได้
โครงการของฟังก์ชัน SUBSTITUTE มี 4 arguments ดังนี้
- argument ที่ 1 text คือข้อความที่เราต้องการอ้างอิง
- argument ที่ 2 old_text คือตัวอักษรหรืออักขระในข้อความอ้างอิงเดิม
- argument ที่ 3 new_text คือตัวอักษรหรืออักขระใหม่ที่ต้องการให้เปลี่ยนแทน old_text
- argument ที่ 3 instance_num คือ การระบุว่า old_text ลำดับที่เท่าไร ที่ต้องการจะให้ถูกเปลี่ยน (หากไม่ระบุ old_text ทุกตัวจะโดนเปลี่ยนแทน)
ตัวอย่างแรกเลยครับ
จากภาพด้านบน คอลัมน์ A จะเป็น ที่อยู่ ต่าง ๆ โดยพบว่าคำว่าจังหวัด จะเขียนย่อ เป็น "จ." ถ้าผมหากต้องการจะเปลี่ยนจาก "จ." เป็นคำว่า "จังหวัด" สามารถทำได้หลายวิธีครับ ซึ่งการใช้ ฟังก์ชัน SUBSTITUTE เป็นหนึ่งในวิธีนั้นครับ
ผมนำฟังก์ชัน SUBSTITUTE มาแสดงผลลัพธ์ใน cell B2 โดยกำหนดค่าดังนี้ครับ
- argument ที่ 1 text สำหรับอ้างอิงข้อความ ผมกำหนดเป็น cell A1
- argument ที่ 2 old_text ตัวอักษรที่ต้องการให้โดนเปลี่ยนแทน ผมกำหนดเป็น "จ."
(อย่าลืมใส่อัญประกาศ (" ")เช่นเคยนะครับ เพราะอะไรตามลิ้งด้านล่างสุดครับ)
- argument ที่ 3 new_text ตัวอักษรใหม่ที่ต้องการให้เปลี่ยนแทน ผมกำหนดเป็น "จังหวัด"
- argument ที่ 4 instance_num คือการระบุว่าลำดับ old_text ที่เท่าไรที่จะโดนเปลี่ยนแทน หากไม่กำหนด old_text ทั้งหมดจะโดนเปลี่ยนแทนด้วย new_text
ตามภาพตัวอย่างด้านบนผมไม่ได้กำหนดครับ เนื่องจากหากดูตามข้อความใน cell A1 จะพบว่า "จ." มีแค่เพียงลำดับเดียว
เพื่อให้เห็นภาพการใช้ argument ที่ 4 instance_num ชัดเจนขึ้นลองดูตัวอย่างข้างล่างครับ
จากภาพด้านบน คอลัมน์ A ที่อยู่ จะมีคำว่า "อ." 2 อันครับ
"อ." แรกสมมติว่าเป็นการเขียนย่อคำว่า "อาคาร "
"อ." สองสมมติว่าเป็นการเขียนย่อคำว่า "อำเภอ"
หากผมต้องการเปลี่ยนคำว่า "อ." อันแรกให้เป็นคำว่าอาคาร หากผมไม่กำหนด argument ที่ 4 instance_num
"อ." ทั้งหมดที่มีในข้อความจะถูกแทนค่าด้วยคำว่า "อาคาร" ดังภาพข้างล่างครับ
ดังนั้นหากผมต้องการเปลี่ยนคำว่า "อ." อันแรกเท่านั้นให้เป็นคำว่าอาคาร ผมต้องกำหนด argument ที่ 4 instance_num เป็นเลข 1 ซึ่งหมายถึง ให้ "อ." แรกที่เจอเปลี่ยนเป็นคำว่า"อาคาร" ดังภาพล่างครับ
หรือกรณีจะเปลี่ยนเฉพาะ "อ." อันที่สองให้เป็นคำว่า "อำเภอ" ผมก็ต้องกำหนด argument ที่ 4 instance_num เป็นเลข 2 ดังภาพข้างล่างครับ
2. REPT ย่อมาจาก repeat ที่แปลว่าทำซ้ำ ความสามารถด็ตรงตัวอีกเช่นเคยครับ คือการพิมพ์อักษรเดิมซ้ำ ๆ
โครงสร้างของฟังก์ชัน REPT มี 2 arguments ดังนี้
- argument ที่ 1 text คือข้อความที่เราต้องการอ้างอิง
- argument ที่ 2 number_times คือจำนวนครั้งที่ต้องการให้พิมพ์ซ้ำ
ลองดูตัวอย่างเลยครับ
ตามตัวอย่างผมนำฟังก์ชัน REPT มาใช้ดึงตัวอักษรจาก cell A1 ให้พิมพ์ซ้ำ 3 ครั้ง ดังนี้ครับ
- argument ที่ 1 text สำหรับอ้างอิงข้อความ ผมกำหนดเป็น cell A1
- argument ที่ 2 number_times จำนวนครั้งที่ต้องการให้พิมพ์ ผมกำหนดเป็น 3 เพื่อให้ฟังก์ชันพิมพ์ ค่าจาก cell A1 ซ้ำ 3 ครั้ง ก็จะได้ "กขคกขคกขค"
หรือหากไม่ต้องการอ้างอิง cell เราก็สามารถพิมพ์เป็นตัวอักษรได้เช่นเดียวกันครับดังภาพข้างล่าง
**** ฟังก์ชัน SUBSTITUTE และฟังก์ชัน REPT โดยตัวของฟังก์ชันทั้ง 2 นี้ ถ้าใช้แยกเดี่ยวๆ ผมก็ไม่ค่อยได้ใช้ แต่จะนำมาใช้ประยุกต์กับฟังก์ชัน RIGHT ดังนี้ครับ
จากภาพด้านบน คอลัมน์ A จะเป็น ที่อยู่ โดยมีช่องว่างหรือการเว้นวรรคกั้นเอาไว้
หากผมต้องการดึงข้อความวรรคหลังสุดออกมา (ชื่อจังหวัด) ผมต้องนำฟังก์ชัน Right มาใช้เพราะจะเริ่มดึงคัวอักษรจากขวาไปซ้าย (ทบทวนฟังก์ชัน right ได้ตามลิ้งข้างล่างนะครับ)
แต่ว่าการกำหนด argument ที่ 2 num_chars หรือจำนวนตัวอักษรที่ต้องการดึง ของฟังก์ชัน Right หากจะใช้ ฟังก์ชัน find มาช่วยหาช่องว่างหรือการเว้นวรรคอัตโนมัติ คงทำได้ยากเพราะ ฟังก์ชัน find จะค้นหาตัวอักขระจากซ้ายไปขวาเสมอ (ทบทวนฟังก์ชัน find ได้ตามลิ้งข้างล่างเช่นกัน)
ดังนั้น จึงนำฟังก์ชั่น SUBSTITUTE, REPT และ TRIM มาใช้กับฟังก์ชัน RIGHT ดังนี้ครับ (สูตรนี้ผมก็ค้นจากในอินเตอร์เน็ตมาครับ)
1. เริ่มด้วยนำฟังก์ชัน SUBSTITUTE มาเพิ่มช่องว่างหรือการเว้นวรรคดังภาพข้างล่าง
ตามภาพบนเราใช้ฟังก์ชัน SUBSTITUTE เปลี่ยนแทนการเว้นวรรค 1 ครั้ง ด้วยการเว้นวรรคให้ยาวๆ โดยกำหนดความยาวมั่วๆให้ยาวไว้ก่อน ผลลัพธ์ตามรูปครับ สาเหตุที่ต้องเว้นวรรคยาวคำตอบอยู่ข้อ 2 ครับ
2. นำฟังก์ชัน RIGHT มาดึงตัวอักษเว้นรวรรคหลังสุด (จังหวัด) ตามภาพด้านล่าง
จากภาพด้านบนผมกำหนดให้ฟังก์ชัน RIGHT ดึงตัวอักษร หรืออักขระมา 20 ตัว โดย 20 ผมก็กำหนดสุ่มๆมาครับ
จะเห็นว่าฟังก์ชัน RIGHT ดึงข้อความจากข้างหลังมาโดยดึงการเว้นวรรคที่เราใช้ฟังก์ชัน SUBSTITUTE เพิ่มตามข้อ 1 มาด้วย ไม่เป็นไรครับต่อข้อ 3 เลย
3. นำฟังก์ชัน TRIM มาครอบฟังก์ชัน RIGHT อีกครั้ง เพื่อตัดช่องว่างหรือการเว้นรวรรคข้างหน้าออกดังภาพข้างล่าง
ใครจำการใช้ฟังก์ชัน TRIM ไม่ได้ทบทวนได้ตามลิ้งข้างล่างนะครับ
*** ถ้าสังเกตจะเห็นว่าตอนใช้ฟังก์ชัน SUBSTITUTE กำหนดความยาวการเว้นวรรคผมกำหนดมั่วๆ และการใช้ฟังก์ชัน RIGHT ผมก็สุ่มมั่วๆ
แต่ถ้าเรานำฟังก์ชัน REPT มาช่วยจะทำให้การกำหนดความยาวเว้นวรรคของฟังก์ชัน SUBSTITUTE มีความชัดเจนขึ้น รวมถึงการกำหนดอักษรที่ต้องการดึงของฟังก์ชัน RIGHT ดังภาพข้างล่างครับ
จากภาพข้างบนจะเห็นว่า ใน argument ที่ 3 ของ ฟังก์ชัน SUBSTITUTE ผมนำฟังก์ชัน REPT มาใช้เพื่อกำหนดว่าให้การเว้นวรรคมีจำนวน 100 ช่องหรือ 100 ครั้ง และฟังก์ชัน RIGHT ก็กำหนดให้ดึงตัวอักษร 100 เช่นกัน
หรือจะกำหนด REPT 200 ช่อง ฟังก์ชัน RIGHT ก็ควรกำหนดดึงตัวอักษร 200 เช่นกัน
สาเหตุเพราะข้อความหรือตัวอักษรที่ต้องการดึงมาจะมีความยาวตัวอักษรไม่เท่ากัน เช่นเมื่อเรากำหนดให้มีการเว้นวรรค 100 ตัวอักษร
เมื่อเราใช้ฟังก์ชัน RIGHT ดึงมา 100 ตัวยังไงก็ต้องติดข้อความบางส่วนและการเว้นวรรคหน้าข้อความอีกบางส่วน(ซึ่งการเว้นวรรคหน้าข้อความมี 100 ช่อง)
ทำให้เราไม่ต้องมาสุ่มกำหนดจำนวนข้อความที่ต้องการดึงของฟังก์ชัน RIGHT
จบแล้วครับกับการนำเสนอ ฟังก์ชัน SUBSTITUTE และ REPT พร้อมก้บการนำไปประยุกต์ใช้กับฟังก์ชัน RIGHT เพื่อดึงข้อความที่มีการเว้นวรรค หวังว่าจะเป็นประโยชน์และแนวคิดให้กับทุกคนนะครับ
อาจจะงงๆแต่ฝึกทำบ่อยๆเดียวก็ชินครับ หรือหากผมอธิบายงงสอบถามเพิ่มเติมได้นะครับ
ปล.รู้สึกว่าโพสต์นี้จะยาวมาก ขอบคุณที่ติดตามอ่านจนจบครับ
อัญประกาศ (" ") แอนด์(&)
โฆษณา