Page 1 of 1

อยากทราบวิธีในการเลือกข้อความจากบรรทัดใน Cell นั้นๆครับ

Posted: Sat Aug 25, 2018 9:12 pm
by markpossawee
ตัวอย่างข้อมูลลูกค้า
ขาว2 ลทบ (Ati Mali) F
อติ มะลิ (0879104599)
79/147 หมู่บ้านรี่(สุขุมวิท) หมู่5 ต.แพรกษา อ.เมือง จ.สมุทรปราการ 10280
19/8/2018 (333) RM347071111TH

เนื่องจากผมเก็บข้อมูลลูกค้าโดยแบ่งเป็น 4 บรรทัด แล้วผมต้องการผูกสูตรให้ Cell อื่นๆดึงค่าจาก Cell เดียวที่ผม Copy ข้อมูลลูกค้าทั้ง 4 บรรทัดไปใส่ไว้ โดยเลือกข้อความจากบรรทัดนั้นๆใน Cell นั้นแทน เนื่องจากก่อนหน้านี้เคยผูกสูตรดึงค่าโดยใช้เงื่อนไขถ้าเจอวงเล็บ () ลำดับนั้นๆ เช่น เจอวงเล็บลำดับที่ 3 ให้ดึงค่าในวงเล็บมาเป็นยอดเงินที่ลูกค้าจ่าย แต่จะมีเคสบางเคสที่ใส่ชื่อตามด้วยวงเล็บชื่อเล่น หรือใส่ที่อยู่แล้วมีวงเล็บติดมาด้วย ทำให้อาจเกิดข้อผิดพลาดได้ จึงอยากได้สูตรที่ยืดหยุ่นได้มากกว่านี้ ซึ่งผมคิดออกเพียงการเลือกบรรทัด เนื่องจากผมจะแบ่งบรรทัดชัดเจน แต่ไม่รู้ว่ามีสูตรเลือกบรรทัดหรือไม่ ค้นหาใน Google แล้วก็ไม่เจอ จึงอยากมาสอบถามครับ แต่ถ้าหากท่านใดมีแนวคิดที่ดีกว่าสามารถเสนอแทนได้นะครับ

ผมได้ยกตัวอย่างข้อมูลลูกค้าหลังแยกตามฟิลด์ทั้งในไฟล์แนบและด้านล่างต่อไปนี้
ชื่อ : อติ มะลิ
ชื่อที่ใช้สั่งซื้อ : Ati Mali
การส่ง : ลทบ.
ช่องทางการสั่งซื้อ : Facebook
ที่อยู่ : 79/147 หมู่บ้านรี่(สุขุมวิท) หมู่5 ต.แพรกษา อ.เมือง จ.สมุทรปราการ 10280
เบอร์โทร : 087-910-4599
ขาว : 2
เขียวใส :
น้ำเงิน :
เหลือง :
ดำ :
ม่วง :
ครีม :
เขียวทึบ :
น้ำตาล :
พลาสติกไล่มด :
ยอดชำระ : 333
วันที่ลูกค้าซื้อ : 19/08/2018
โค้ดไปรษณีย์ : RM347071111TH

Re: อยากทราบวิธีในการเลือกข้อความจากบรรทัดใน Cell นั้นๆครับ

Posted: Sat Aug 25, 2018 10:03 pm
by snasui
:D ตัวอย่างสูตรตามด้านล่างซึ่งจะใช้คอลัมน์เข้ามาช่วย 4 คอลัมน์ครับ
  1. ที่ V1:Y1 คีย์ Helper1-Helper4 เพื่อเป็นหัวคอลัมน์
  2. ที่ V2 คีย์
    =TRIM(MID(SUBSTITUTE($A2,CHAR(10),REPT(" ",LEN($A2))),LEN($A2)*(COLUMNS($V3:V3)-1)+1,LEN($A2)))
    Enter > Copy ไปด้านขวาจนถึง Y2 แล้ว Copy ลงด้านล่าง
  3. ที่ B2 คีย์
    =LEFT(W2,FIND("(",W2)-1)
    Enter > Copy ลงด้านล่าง
  4. ที่ C2 คีย์
    =MID(V2,FIND("(",V2)+1,FIND(")",V2)-FIND("(",V2)-1)
    Enter > Copy ลงด้านล่าง
  5. ที่ F2 คีย์
    =X2
    Enter > Copy ลงด้านล่าง
  6. ที่ G2 คีย์
    =TEXT(SUBSTITUTE(SUBSTITUTE(TRIM(RIGHT(SUBSTITUTE(W2," ",REPT(" ",15)),15)),"(",""),")",""),"000-000-0000")
    Enter > Copy ลงด้านล่าง
  7. ที่ I2 คีย์
    =IFERROR(LEFT(SUBSTITUTE(SUBSTITUTE($V2,I$1,"")," ",REPT(" ",10)),10)+0,0)
    Enter > Copy ไปด้านขวาจนถึง R2 แล้ว Copy ลงด้านล่าง
  8. ที่ S2 คีย์
    =MID(Y2,FIND("(",Y2)+1,FIND(")",Y2)-FIND("(",Y2)-1)+0
    Enter > Copy ลงด้านล่าง
  9. ที่ T2 คีย์
    =LEFT(Y2,FIND(" ",Y2)-1)+0
    Enter > Copy ลงด้านล่าง
  10. ที่ U2 คีย์
    =IF(LEN(Y2)-LEN(SUBSTITUTE(Y2," ",""))<2,"",TRIM(RIGHT(SUBSTITUTE(Y2," ",REPT(" ",20)),20)))
    Enter > Copy ลงด้านล่าง
ตัวเลขในคอลัมน์ J:R หากไม่ถูกต้องแสดงว่าเขียนหัวคอลัมน์ไว้ไม่ตรงกับสีในคอลัมน์ A ครับ

Re: อยากทราบวิธีในการเลือกข้อความจากบรรทัดใน Cell นั้นๆครับ

Posted: Sat Aug 25, 2018 11:36 pm
by Bo_ry
D2 =IFNA(LOOKUP(1,1/ISNUMBER(FIND({"ลทบ","EMS","Kerry"},A2)),{"ลทบ","EMS","Kerry"}),"Kerry")
ไม่แน่ใจว่า Kerry ระบุยังไง และมีการส่งอื่นอีกรึเปล่า

E2 =IF(ISNUMBER(FIND(") F",A2)),"Facebook","Shoopee")
ไม่แน่ใจว่า Shoopee ระบุยังไง และมีช่องทางอื่นอีกรึเปล่า