เพื่อมุ่งให้เกิดคุณภาพจากการอบรมสูงสุด Excel Expert Training ให้การอบรม Excel กลุ่มเล็กๆ ไม่เกิน 6 คนทุกคนสามารถเรียนรู้ Excel อย่างใกล้ชิด จะมาคนเดียวหรือมาเป็นกลุ่มแล้วนัดวันอบรมแบบส่วนตัวก็ได้ ผู้เข้าอบรมทุกคนสามารถติดตามเนื้อหาที่อบรมได้อย่างชัดเจนจากจอภาพด้านหน้าของตัวเอง
Results 1 to 10 of 10

Thread: จับคู่บางข้อความกับข้อความที่มีน่ะค่ะ

  1. #1
    java
    Guest

    จับคู่บางข้อความกับข้อความที่มีน่ะค่ะ

    คือมีข้อมูลอยู่ และต้องการนำอีกข้อมูลหนึ่งมาใส่
    แต่ข้อมูลมันเหมือนกันบางตัวน่ะค่ะ
    ควรทำอย่างไรดี
    อธิบายไม่เข้าใจต้องขอโทษด้วยค่ะ ยังไงรบกวนดูไฟล์แนบอีกทีน่ะค่ะ
    ขอบคุณค่ะ

  2. #2
    วานิชย์
    Guest
    ที่ B5 ใช้สูตรแบบนี้ครับ

    =VLOOKUP(MID(A5,1,FIND("-",A5,1)-1),$C$17:$D$22,2,FALSE)

    จากนั้นคัดลอกลงไปจนครบตามข้อมูลก็จะได้ตามต้องการครับ

  3. #3
    java
    Guest

    ขอบคุณค่ะ รบกวนอีกนิดค่ะ

    ขอบคุณมากค่ะ
    แต่ตอนนี้มีปัญหาใหม่น่ะค่ะ
    คือว่ารุ่นของสินค้าเนี่ยมันจะ export ไฟล์มาจากระบบอื่น
    ทีนี้พอพิมพ์รุ่นเข้าไปในชีทนั้น ๆ เอ็กเซลก็สะกดคำให้น่ะค่ะ
    เช่น พิมพ์ว่า HDA ก็จะเปลี่ยนให้เวลา enter เป็น HAD
    ต้องไปกำหนดตรงไหนคะ ปกติเคยเห็นแต่ใน word
    ขอบคุณค่ะ

  4. #4
    nutty
    Guest
    ผมลองใช้วิธีแยก ชื่อ และ รหัสที่เป็นตัวเลข ของ Model ออกเป็น คอลัมน์ๆ นะครับ แล้วใช้ VLOOKUP หาโดยอ้างอิงกับ ชื่อ MODEL Name นะครับ

    ไม่ทราบว่าจะตรงกับความต้องการหรือเปล่า อย่างไรผมได้แนบไฟล์ที่ลองแก้ไขมาให้ดูนะครับ

  5. #5
    java
    Guest

    คือว่า...

    คือว่าด้วยความรีบก็เลยก๊อปสูตรไปใช้เลยน่ะค่ะ ได้ผลดีมาก ๆ แต่ว่า...
    ตอนนี้ไม่เข้าใจสูตรน่ะค่ะ ยังไงช่วยอธิบายหากมีเวลาน่ะค่ะ
    ขอบคุณจริง ๆ ค่ะ

  6. #6
    วานิชย์
    Guest
    Quote Originally Posted by java View Post
    ขอบคุณมากค่ะ
    แต่ตอนนี้มีปัญหาใหม่น่ะค่ะ
    คือว่ารุ่นของสินค้าเนี่ยมันจะ export ไฟล์มาจากระบบอื่น
    ทีนี้พอพิมพ์รุ่นเข้าไปในชีทนั้น ๆ เอ็กเซลก็สะกดคำให้น่ะค่ะ
    เช่น พิมพ์ว่า HDA ก็จะเปลี่ยนให้เวลา enter เป็น HAD
    ต้องไปกำหนดตรงไหนคะ ปกติเคยเห็นแต่ใน word
    ขอบคุณค่ะ
    ที่เมนู Tools - AutoCorrect Options… /tab AutoCorrect
    ให้ unCheck ที่หน้า Replace text as you type

  7. #7
    java
    Guest

    Talking ขอบคุณค่ะ

    ขอบคุณมากค่ะ แก้ได้แล้ว
    อย่างไรก็ดี หากคุณวานิชย์มีเวลาช่วยอธิบายสูตร =VLOOKUP(MID(A5,1,FIND("-",A5,1)-1),$C$17:$D$22,2,FALSE)
    ให้สักนิดนะคะ ปกติใช้สูตร vlookup กับ mid เป็นค่ะ แต่สูตร find ยังไม่เคยใช้ แล้วเอามารวม ๆ กันก็เลยงง ๆ นิดนึงน่ะค่ะ


    และขอบคุณคุณ nutty ด้วยค่ะ

  8. #8
    วานิชย์
    Guest
    จากตัวอย่างงานของคุณ JAVA มีข้อมูลที่เกี่ยวข้อง 3 ตัวคือ
    MODEL
    MASTER MODEL
    PROJECT

    โดย MASTER MODEL และ PROJECT มีความสัมพันธ์กันตามตารางในตัวอย่างของคุณ
    และรหัส MODEL ก็คือ รหัส MASTER MODEL ตามด้วย รหัสอะไรบางอย่าง ซึ่งจะถูกคั่นด้วยเครื่องหมาย - เสมอ ๆ

    และความต้องการของคุณ JAVA ก็คือ แสดงรายชื่อ Project ที่มีความสัมพันธ์กับ MASTER MODEL โดยใช้ รหัส MODEL เป็นตัวอ้างอิง

    ถ้าพิจารณาหาความสัมพันธ์ระหว่าง รหัส MODEL กับ PROJECT จะพบว่าสามารถเชื่อมโยงกันได้ด้วย รหัส MASTER MODEL ที่อยู่ในรหัส MODEL (ข้อมูลชุดแรกหน้าเครื่องหมาย - ) นั่นเอง

    ดังนั้น ถ้าเราสามารถแยกข้อมูลชุดแรกออกจากรหัส MODEL ได้ก็สามารถนำ ข้อมูลนั้นไปใช้เป็น Ref_Value ใน VLOOKUP เพื่อหา PROJECT ได้

    ดังนั้น จากสูตรที่คุณ JAVA เห็น MID(A5,1,FIND("-",A5,1)-1) ในสูตร ก็เพื่อตัดเอาเฉพาะ ข้อมูลชุดแรกก่อนเครื่องหมาย - ครับ

    ต่อไปขออธิบาย MID(A5,1,FIND("-",A5,1)-1)
    จาก Function MID ()
    ไวยากรณ์
    =MID(ข้อความ,ตำแหน่งเริ่ม,จำนวนอักษร)
    ดังที่กล่าวไปแล้วด้านบน เราต้องการหาข้อมูลชุดแรกก่อนเครื่องหมาย - ดังนั้น ตำแหน่งเริ่มก็ต้องเป็น 1
    และจำนวนอักษรที่จะใช้ใน MID ก็คือจำนวนอักษรก่อนถึงตำแหน่งของ เครื่องหมาย -
    ดังนั้นจึงต้องใช้ Function FIND() เพื่อหาตำแหน่งของเครื่องหมาย - ครับ

    Function FIND()
    ไวยากรณ์
    =FIND(find_text,within_text,start_num)
    เมื่อได้ตำแหน่งของเครื่องหมาย - มาแล้วก็นำไปใช้ใน MID แต่เราไม่ต้องการเครื่องหมาย - ให้ติดมาด้วยจึงต้องลดตำแหน่งลงอีก 1 จึงจะพบว่าในสูตรมี - 1 เพิ่มเข้ามาด้วย
    เมื่อรวมทั้งหมดเข้าด้วยกันก็จะได้สูตรในการแยกเอาข้อมูลชุดแรกก่อนเครื่องหมาย - ได้เป็น
    MID(A5,1,FIND("-",A5,1)-1)
    ครับ

  9. #9
    java
    Guest

    ขอบคุณค่ะ

    ขอบคุณค่ะ
    เข้าใจแล้ว คุณวานิชย์ใจดีจริงๆ ขอให้เจริญ ๆ ค่ะ

    ถ้าเป็น model HDA-5152-52 เราก็ใช้สูตรแบบนี้ไม่ได้ใช่มั๊ยคะ เพราะมันมี "-" 2 ครั้ง
    แต่ว่ามันไม่มีหรอกค่ะ แค่สงสัยเฉย ๆ น่ะค่ะ

  10. #10
    วานิชย์
    Guest
    ถ้าข้อมูลที่ต้องการคือข้อมูลชุดแรกก่อนเครื่องหมาย - (ตามตัวอย่างที่ยกมาคือ HDA)ก็ไม่มีปัญหาครับ สามารถใช้สูตรเดิมได้เนื่องจาก Find จะหาตำแหน่งเครื่องหมาย - ตัวแรกเสมอ ถ้าไม่มีการระบบุ Start_num

    แต่จะใช้ไม่ได้ถ้าข้อมูลที่ต้องการคือ HDA-512 ต้องปรับเปลี่ยนสูตรอีกนิดหน่อยครับ

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •