:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

แนะนำ สูตร หน่อยครับ

ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
babies
Member
Member
Posts: 22
Joined: Sun Sep 16, 2012 8:25 pm

แนะนำ สูตร หน่อยครับ

#1

Post by babies »

ผมต้องการนำ ชื่อ จาก sheet 2 col D มาแสดงในช่อง D sheet1 โดยมีเงื่อนไขว่า
col A sheet1 = col A sheet2 AND
col B sheet1 = col B sheet2 AND
col C sheet1 = col C sheet2
อธิบายเพิ่มคับ :
col A1 sheet1 = จะค้นหา col A ใดๆใน(ทั้งคอลัมน์) sheet2 AND
col B1 sheet1 = จะค้นหา col B ใดๆใน(ทั้งคอลัมน์) sheet2 AND
col C1 sheet1 = จะค้นหา col C ใดๆใน(ทั้งคอลัมน์) sheet2
ถ้าเช็คแล้วเหมือนกันทั้งสามช่อง ก็จะ ดึงข้อมูลจาก col D sheet2 มาแสดงใน col D sheet1
ตัวอย่างอีกนิดคับ :
col A1 sheet1 = col A99 sheet2 AND
col B1 sheet1 = col B99 sheet2 AND
col C1 sheet1 = col C99 sheet2
value : col D1 sheet1 = col D99 sheet2

......แนะนำด้วยคับ......
ขอบคุณมากครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: แนะนำ สูตร หน่อยคับ

#2

Post by snasui »

:D ช่วยแก้ไขข้อความแชทให้เป็นคำปกติด้วยครับ อ่านกฎต่าง ๆ ด้านบนด้วยครับ :roll:
babies
Member
Member
Posts: 22
Joined: Sun Sep 16, 2012 8:25 pm

Re: แนะนำ สูตร หน่อยคับ

#3

Post by babies »

snasui wrote::D ช่วยแก้ไขข้อความแชทให้เป็นคำปกติด้วยครับ อ่านกฎต่าง ๆ ด้านบนด้วยครับ :roll:
ขอโทษครับ...แก้ไขแล้วครับ

ผมต้องการนำ ชื่อ จาก sheet 2 col D มาแสดงในช่อง D sheet1 โดยมีเงื่อนไขว่า
col A sheet1 = col A sheet2 AND
col B sheet1 = col B sheet2 AND
col C sheet1 = col C sheet2
อธิบายเพิ่มครับ :
col A1 sheet1 = จะค้นหา col A ใดๆใน(ทั้งคอลัมน์) sheet2 AND
col B1 sheet1 = จะค้นหา col B ใดๆใน(ทั้งคอลัมน์) sheet2 AND
col C1 sheet1 = จะค้นหา col C ใดๆใน(ทั้งคอลัมน์) sheet2
ถ้าเช็คแล้วเหมือนกันทั้งสามช่อง ก็จะ ดึงข้อมูลจาก col D sheet2 มาแสดงใน col D sheet1
ตัวอย่างอีกนิดครับ :
col A1 sheet1 = col A99 sheet2 AND
col B1 sheet1 = col B99 sheet2 AND
col C1 sheet1 = col C99 sheet2
value : col D1 sheet1 = col D99 sheet2

......แนะนำด้วยครับ......
ขอบคุณมากครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: แนะนำ สูตร หน่อยครับ

#4

Post by snasui »

:D ลองตามนี้ครับ

ที่ Sheet1 เซลล์ D1 คีย์

=INDEX(Sheet2!$D$1:$D$8,MATCH(1,IF(A1=Sheet2!$A$1:$A$8,IF(B1=Sheet2!$B$1:$B$8,IF(C1=Sheet2!$C$1:$C$8,1))),0)

Ctrl+Shift+Enter > Copy ลงด้านล่าง

Note: Ctrl+Shift+Enter หมายถึงเมื่อคีย์สูตรแล้ว แทนที่จะกด Enter ให้กดแป้น Ctrl+Shift ค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array หากกดแป้นถูกต้องสูตรนั้นจะมีเครื่องหมายปีกกาครอบ เช่น {=YourFormulas(...)} ปีกกานี้คีย์เข้าไปเองไม่ได้ ถ้ายังไม่เห็นปีกกาครอบสูตรแสดงว่ากดแป้นให้รับสูตรไม่ถูกต้อง
babies
Member
Member
Posts: 22
Joined: Sun Sep 16, 2012 8:25 pm

Re: แนะนำ สูตร หน่อยครับ

#5

Post by babies »

อ่อ...ขอบคุณมากครับ....ได้แล้วครับ

ผมขอถามต่ออีกครับ
ถ้าข้อมูลมีเยอะมากครับ จะกำหนด A1=Sheet2!$A$1:$A$8 ยังไงครับ
หรือว่าข้อมูลใน col มีอยู่ 20,000+ ก็ต้องใส่ $A$1:$A$20,000 ครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: แนะนำ สูตร หน่อยครับ

#6

Post by snasui »

:D เข้าใจถูกต้องแล้วครับ :P
babies
Member
Member
Posts: 22
Joined: Sun Sep 16, 2012 8:25 pm

Re: แนะนำ สูตร หน่อยครับ

#7

Post by babies »

:o ขอบคุณมากครับ :shock:
babies
Member
Member
Posts: 22
Joined: Sun Sep 16, 2012 8:25 pm

Re: แนะนำ สูตร หน่อยครับ

#8

Post by babies »

ขอถามต่อครับ

ผมลองไปทำกับข้อมูลจริงครับ แต่ผลออกมาเป็น #N/A ครับ

ผม config เลยนะครับ
=INDEX(Sheet2!$D$99,MATCH(1,IF(A1=1,IF(B1=2,IF(C1=3,1))),0))
แล้วดูจากการทำงานของ excel error นะครับ
=INDEX(Sheet2!$D$99,MATCH(1,1,0))
=INDEX(Sheet2!$D$99,#N/A)
ค่าที่ได้เท่ากับ #N/A

แต่พอตั้งค่าให้มันเป็น >>> =INDEX(Sheet2!$D$99,1) ค่าที่ได้ก้ตรงกับที่ต้องการ

เป็นเพราะอะไรครับ งง มากครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: แนะนำ สูตร หน่อยครับ

#9

Post by snasui »

:D ค่าที่ได้ควรเป็น #N/A ถูกต้องแล้วครับ เนื่องจากสูตรไม่สามารถใช้ลักษณะที่ปรับมานี้ครับ
babies wrote:ผม config เลยนะครับ
=INDEX(Sheet2!$D$99,MATCH(1,IF(A1=1,IF(B1=2,IF(C1=3,1))),0))
แล้วดูจากการทำงานของ excel error นะครับ
=INDEX(Sheet2!$D$99,MATCH(1,1,0))
=INDEX(Sheet2!$D$99,#N/A)
ค่าที่ได้เท่ากับ #N/A
แบบนี้ก็เช่นกัน
babies wrote:แต่พอตั้งค่าให้มันเป็น >>> =INDEX(Sheet2!$D$99,1) ค่าที่ได้ก้ตรงกับที่ต้องการ

เป็นเพราะอะไรครับ งง มากครับ
ถ้าต้องการค่าใน D99 ไม่จำเป็นต้องเขียนสูตรแบบนั้น คีย์ =D99 ได้เลยครับ :lol:
babies
Member
Member
Posts: 22
Joined: Sun Sep 16, 2012 8:25 pm

Re: แนะนำ สูตร หน่อยครับ

#10

Post by babies »

snasui wrote::D ค่าที่ได้ควรเป็น #N/A ถูกต้องแล้วครับ เนื่องจากสูตรไม่สามารถใช้ลักษณะที่ปรับมานี้ครับ
babies wrote:ผม config เลยนะครับ
=INDEX(Sheet2!$D$99,MATCH(1,IF(A1=1,IF(B1=2,IF(C1=3,1))),0))
แล้วดูจากการทำงานของ excel error นะครับ
=INDEX(Sheet2!$D$99,MATCH(1,1,0))
=INDEX(Sheet2!$D$99,#N/A)
ค่าที่ได้เท่ากับ #N/A
แบบนี้ก็เช่นกัน
babies wrote:แต่พอตั้งค่าให้มันเป็น >>> =INDEX(Sheet2!$D$99,1) ค่าที่ได้ก้ตรงกับที่ต้องการ

เป็นเพราะอะไรครับ งง มากครับ
ถ้าต้องการค่าใน D99 ไม่จำเป็นต้องเขียนสูตรแบบนั้น คีย์ =D99 ได้เลยครับ :lol:

แล้วถ้าผมต้องที่จะแสดงค่าใน col J Sheet2 ใน col J Sheet1 โดยที่
col E sheet1=col E sheet2
col G sheet1=col G sheet2
col H sheet1=col H sheet2
ผมแนบไฟล์ไว้ด้วยครับ

แนะนำด้วยครับ.....ขอบคุณครับ
Last edited by babies on Mon Sep 17, 2012 5:24 pm, edited 1 time in total.
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: แนะนำ สูตร หน่อยครับ

#11

Post by snasui »

:D ไม่พบไฟล์แนบ ช่วยแนบมาใหม่ครับ
babies
Member
Member
Posts: 22
Joined: Sun Sep 16, 2012 8:25 pm

Re: แนะนำ สูตร หน่อยครับ

#12

Post by babies »

ไฟล์แนบแล้วนะครับ นั่งตัดไฟล์ให้เล็กลงเลยช้าหน่อยครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: แนะนำ สูตร หน่อยครับ

#13

Post by snasui »

:D จากไฟล์ที่แนบมา ไม่พบสูตรใด ๆ ไม่ทราบว่าสูตรอยู่ที่ชีทไหน เซลล์ไหน คำตอบที่ถูกต้องเป็นอย่างไร ช่วยอธิบายเพิ่มเติมด้วย เพื่อจะได้ช่วยปรับให้ได้ครับ
babies
Member
Member
Posts: 22
Joined: Sun Sep 16, 2012 8:25 pm

Re: แนะนำ สูตร หน่อยครับ

#14

Post by babies »

Sheet1 #N/A คือค่าที่ดึงมาครับ
แต่ สอง row สุดท้ายควรจะมีค่า ตามตัวสีแดงครับ

ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: แนะนำ สูตร หน่อยครับ

#15

Post by snasui »

:D ที่ Sheet1 เซลล์ J1 ปรับสูตรเป็นตามด้านล่างครับ

=INDEX(Sheet2!$J$1:$J$6,MATCH(1,IF(E1=Sheet2!$E$1:$E$6+0,IF(G1=Sheet2!$G$1:$G$6,IF(H1=Sheet2!$H$1:$H$6,1))),0))

Ctrl+Shift+Enter > Copy ลงด้านล่าง ที่ต้องบวกด้วย 0 ในสูตรตามด้านบนเนื่องจากว่าคอลัมน์ E ของ Sheet2 เป็น Text จึงจำเป็นต้องแปลงให้เป็น Number เสียก่อนถึงจะ Match กันเจอครับ
babies
Member
Member
Posts: 22
Joined: Sun Sep 16, 2012 8:25 pm

Re: แนะนำ สูตร หน่อยครับ

#16

Post by babies »

snasui wrote::D ที่ Sheet1 เซลล์ J1 ปรับสูตรเป็นตามด้านล่างครับ

=INDEX(Sheet2!$J$1:$J$6,MATCH(1,IF(E1=Sheet2!$E$1:$E$6+0,IF(G1=Sheet2!$G$1:$G$6,IF(H1=Sheet2!$H$1:$H$6,1))),0))

Ctrl+Shift+Enter > Copy ลงด้านล่าง ที่ต้องบวกด้วย 0 ในสูตรตามด้านบนเนื่องจากว่าคอลัมน์ E ของ Sheet2 เป็น Text จึงจำเป็นต้องแปลงให้เป็น Number เสียก่อนถึงจะ Match กันเจอครับ

ขอบคุณครับ แต่ยัง งงๆ อยู่เลยครับ คอลัมน์ E ของ Sheet2 เป็น Text
ผมเห็นมีแต่ตัวเลข อธิบายเพิ่มได้ไหมครับ


ขอบคุณครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: แนะนำ สูตร หน่อยครับ

#17

Post by snasui »

:lol: ค่าที่เห็นไม่ได้ยืนยันว่ามันต้องเป็นเช่นนั้น ตัวเลขไม่จำเป็นว่าจะต้องเป็น Number อยู่ที่การจัด Format ครับ

กรณีต้องการตรวจสอบว่าเป็น Number หรือไม่ สามารถใช้ฟังก์ชันเข้าไปตรวจสอบได้ เช่น

=Isnumber(E1)

หากผลลัพธ์เป็น True คือเป็น Number ถ้าเป็น False คือไม่ใช่ Number หรือ หากตรวจสอบว่าเป็น Text หรือไม่ สามารถเขียนสูตรเป็น

=Istext(E1)

หากผลลัพธ์เป็น True คือเป็น Text ถ้าเป็น False คือไม่ใช่ Text

การจะ Match กันได้จำเป็นจะต้องเป็นข้อมูลประเภทเดียวกันครับ
babies
Member
Member
Posts: 22
Joined: Sun Sep 16, 2012 8:25 pm

Re: แนะนำ สูตร หน่อยครับ

#18

Post by babies »

อ๋อ :) :)

ขอบคุณมากครับ
babies
Member
Member
Posts: 22
Joined: Sun Sep 16, 2012 8:25 pm

Re: แนะนำ สูตร หน่อยครับ

#19

Post by babies »

รบกวนถามต่อครับ

ถ้าผมเพิ่ม col มาอีก 1 col ครับ คือ
เช็ค A & B & C เหมือนเดิมนะครับ
ส่วน col D จะเช็คบาง row ครับ คือ
เช็ค A & B & C & D
สามารถเขียนสูตรเช็คเป็นสูตรเดียวได้ไหมครับ
หรือว่าต้องเขียนสูตรแยกคนละสูตรครับ

ขอบคุณครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: แนะนำ สูตร หน่อยครับ

#20

Post by snasui »

:D สามารถเขียนเป็นสูตรเดียวได้ครับ พยายามถามพร้อมไฟล์ตัวอย่างจะได้เข้าใจตรงกันครับ
Post Reply