: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

การดึงข้อมูลข้ามSheet

ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
non2_hab
Member
Member
Posts: 32
Joined: Mon Oct 18, 2021 11:43 am
Excel Ver: 365

การดึงข้อมูลข้ามSheet

#1

Post by non2_hab »

เรียนอาจารย์

ขอรบกวนสอบถามสูตรการดึงข้อมูลข้าม Sheet โดยมีเงื่อนไขดังนี้ครับ

ให้ดึงข้อมูลเฉพาะงานที่มีผลทดสอบ "FAIL" จาก Sheet "Data" มาแสดงที่ Sheet "Result"
โดยให้นำข้อมูลหัวข้อที่เสียมาแสดงพร้อมกับค่า ตามตัวอย่างใน Sheet "Result" ครับ

ขอคำแนะนำด้วยครับ
You do not have the required permissions to view the files attached to this post.
User avatar
logic
Gold
Gold
Posts: 1511
Joined: Thu Mar 18, 2010 1:57 pm
Excel Ver: 365

Re: การดึงข้อมูลข้ามSheet

#2

Post by logic »

ลองแบบนี้ครับ

A2 =IFERROR(INDEX(Data!A:A,AGGREGATE(15,6,ROW(Data!$A$3:$A$14)/(Data!$G$3:$G$14="FAIL"),INT((ROWS(A$2:A2)-1)/2)+1)),"")
B2 =IF(A2="","",INDEX(Data!$C$2:$D$2,COUNTIF(A$2:A2,A2)))
C2 =IF(A2="","",INDEX(Data!$C$3:$D$14,MATCH(A2,Data!$A$3:$A$14,0),MATCH(B2,Data!$C$2:$D$2,0)))

คัดลอกสูตรทั้งหมดลงด้านล่าง 😉
non2_hab
Member
Member
Posts: 32
Joined: Mon Oct 18, 2021 11:43 am
Excel Ver: 365

Re: การดึงข้อมูลข้ามSheet

#3

Post by non2_hab »

logic wrote: Mon Oct 18, 2021 3:11 pm ลองแบบนี้ครับ

A2 =IFERROR(INDEX(Data!A:A,AGGREGATE(15,6,ROW(Data!$A$3:$A$14)/(Data!$G$3:$G$14="FAIL"),INT((ROWS(A$2:A2)-1)/2)+1)),"")
B2 =IF(A2="","",INDEX(Data!$C$2:$D$2,COUNTIF(A$2:A2,A2)))
C2 =IF(A2="","",INDEX(Data!$C$3:$D$14,MATCH(A2,Data!$A$3:$A$14,0),MATCH(B2,Data!$C$2:$D$2,0)))

คัดลอกสูตรทั้งหมดลงด้านล่าง 😉
เรียนคุณ logic ขอบคุณมากครับ ผมลองนำสูตรตามที่แนะนำไปลองทำแล้ว พบว่า หัวข้อที่ถูกดึงมาแสดงยังไม่ถูกต้องครับ
ผมได้แนบไฟล์หลังจากทำมาให้ดูครับ จะเห็นว่า A000009B SNQ 28.938 หัวข้อนี้ผ่านตาม Limit ครับ

ขอสอบถามเพิ่มเติมครับ จากสูตร
B2 =IF(A2="","",INDEX(Data!$C$2:$D$2,COUNTIF(A$2:A2,A2)))
C2 =IF(A2="","",INDEX(Data!$C$3:$D$14,MATCH(A2,Data!$A$3:$A$14,0),MATCH(B2,Data!$C$2:$D$2,0)))

ตรง INDEX(Data!$C$2:$D$2) ผมจะเปลี่ยนเป็น INDEX(Data!$ฺB$2:$F$2) ขยาย range ในการเลือกได้ไหมครับ

รบกวนด้วยครับ
You do not have the required permissions to view the files attached to this post.
User avatar
logic
Gold
Gold
Posts: 1511
Joined: Thu Mar 18, 2010 1:57 pm
Excel Ver: 365

Re: การดึงข้อมูลข้ามSheet

#4

Post by logic »

non2_hab wrote: Tue Oct 19, 2021 8:35 am จะเห็นว่า A000009B SNQ 28.938 หัวข้อนี้ผ่านตาม Limit ครับ
ผ่านหรือไม่ผ่านดูจาก FAIL แต่ FAIL ไม่ได้บอกว่าเป็น FAIL ของค่าไหน ถ้าใช้สีเป็นเงื่อนไขอันนี้ต้องเขียนโค้ด VBA เข้ามาช่วยแล้วละครับ ถ้าเขียนโค้ด ทำตามกติกาข้อ 5 ข้างบนก่อนครับ 👆🏼
non2_hab wrote: Tue Oct 19, 2021 8:35 am ตรง INDEX(Data!$C$2:$D$2) ผมจะเปลี่ยนเป็น INDEX(Data!$ฺB$2:$F$2) ขยาย range ในการเลือกได้ไหมครับ
ได้ครับ
You do not have the required permissions to view the files attached to this post.
non2_hab
Member
Member
Posts: 32
Joined: Mon Oct 18, 2021 11:43 am
Excel Ver: 365

Re: การดึงข้อมูลข้ามSheet

#5

Post by non2_hab »

logic wrote: Tue Oct 19, 2021 9:18 am
non2_hab wrote: Tue Oct 19, 2021 8:35 am จะเห็นว่า A000009B SNQ 28.938 หัวข้อนี้ผ่านตาม Limit ครับ
ผ่านหรือไม่ผ่านดูจาก FAIL แต่ FAIL ไม่ได้บอกว่าเป็น FAIL ของค่าไหน ถ้าใช้สีเป็นเงื่อนไขอันนี้ต้องเขียนโค้ด VBA เข้ามาช่วยแล้วละครับ ถ้าเขียนโค้ด ทำตามกติกาข้อ 5 ข้างบนก่อนครับ 👆🏼
non2_hab wrote: Tue Oct 19, 2021 8:35 am ตรง INDEX(Data!$C$2:$D$2) ผมจะเปลี่ยนเป็น INDEX(Data!$ฺB$2:$F$2) ขยาย range ในการเลือกได้ไหมครับ
ได้ครับ
ขอบคุณครับคุณ logic ที่ผมทำสีไว้ เพื่อแสดงให้ดูครับว่าค่าไหนที่ไม่ผ่านคือค่าไหน จะได้เช็คได้ว่าสูตรถูกต้องหรือเปล่าครับ ถ้าเราเขียนเงื่อนไขให้ตรวจสอบได้ไหมครับ
เผื่อให้ผลลัพธ์ตามที่ต้องการ หรือตามความเห็นแล้วไปทาง VBA จะง่ายกว่าครับ ถ้าไปทางนี้ ทางผมจะไปถามในอีกหัวข้อครับ
ขอโทษด้วยครับที่ทำให้สับสน
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: การดึงข้อมูลข้ามSheet

#6

Post by snasui »

:D ลองอธิบายเงื่อนไขทั้งหมดของคำถามนี้มาดูกัน ปกติจะต้องแจ้งเงื่อนไขเอาไว้ตั้งแต่ต้นเสมอครับ
non2_hab
Member
Member
Posts: 32
Joined: Mon Oct 18, 2021 11:43 am
Excel Ver: 365

Re: การดึงข้อมูลข้ามSheet

#7

Post by non2_hab »

snasui wrote: Tue Oct 19, 2021 12:28 pm :D ลองอธิบายเงื่อนไขทั้งหมดของคำถามนี้มาดูกัน ปกติจะต้องแจ้งเงื่อนไขเอาไว้ตั้งแต่ต้นเสมอครับ
ขอบคุณทางอาจารย์ที่แนะนำครับ

เงื่อนไขที่ต้องการ
ต้องการแสดงผลที่ Sheet "Result" เฉพาะ Item ที่ไม่ผ่าน Limit และให้เลียงเป็นแถวลงมา
ซึ่งข้อมูลที่ต้องการแสดงประกอบไปด้วย Series number / Item / Value
โดยอ้างอิงข้อมูลมาจาก Sheet "Data" และแสดงผลตามไฟล์แนบครับ

ขอโทษทางคุณ Logic ด้วยครับที่อธิบายเงื่อนไขไม่ชัดเจน ^/\^
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: การดึงข้อมูลข้ามSheet

#8

Post by snasui »

:D ที่อธิบายมาก็เป็นเหมือนเดิมทุกประการ ไม่ได้มีเงื่อนไขอะไรแจ้งมาแต่อย่างใด

ขออ้างอิงรูปที่คุณ logic ในโพสต์ #4 ด้านบน :roll: โปรแกรมจะทราบได้อย่างไรว่าเมื่อ Fail ต้องนำค่าใดมาแสดงบ้าง เพราะบางบรรทัดนำมาแสดงทั้งสองช่อง บางบรรทัดนำมาแสดงแค่ช่องเดียว เหตุใดจึงเป็นเช่นนั้น กรุณาอธิบายมาให้ละเอียดที่สุดเท่าที่จะทำได้ครับ
non2_hab
Member
Member
Posts: 32
Joined: Mon Oct 18, 2021 11:43 am
Excel Ver: 365

Re: การดึงข้อมูลข้ามSheet

#9

Post by non2_hab »

snasui wrote: Tue Oct 19, 2021 1:15 pm :D ที่อธิบายมาก็เป็นเหมือนเดิมทุกประการ ไม่ได้มีเงื่อนไขอะไรแจ้งมาแต่อย่างใด

ขออ้างอิงรูปที่คุณ logic ในโพสต์ #4 ด้านบน :roll: โปรแกรมจะทราบได้อย่างไรว่าเมื่อ Fail ต้องนำค่าใดมาแสดงบ้าง เพราะบางบรรทัดนำมาแสดงทั้งสองช่อง บางบรรทัดนำมาแสดงแค่ช่องเดียว เหตุใดจึงเป็นเช่นนั้น กรุณาอธิบายมาให้ละเอียดที่สุดเท่าที่จะทำได้ครับ
เรียนอาจารย์

ใน Sheet "Result" จะเป็นการประมวณผลข้อมูลจาก Sheet "Data" โดยให้แสดงผลข้อมูล Serial number และ Item และ Value
ของหัวข้อที่ไม่ผ่าน Limit ทุก Item ตาม Series number นั้นๆ ตามตัวอย่างใน Sheet "Result"
โดยที่ Column A จะให้แสดงผลของ Serial number ถ้า Serial number นั้นมี Item ที่เสียมากกว่า 1 Item
ในบรรทัดถัดไปไม่ต้องแสดง Serial number นั้นครับ

พอจะชัดเจนขึ้นไหมครับ
User avatar
norkaz
Gold
Gold
Posts: 1826
Joined: Wed Jan 12, 2011 7:59 pm
Excel Ver: 2013,365

Re: การดึงข้อมูลข้ามSheet

#10

Post by norkaz »

non2_hab wrote: Tue Oct 19, 2021 1:44 pm
snasui wrote: Tue Oct 19, 2021 1:15 pm :D ที่อธิบายมาก็เป็นเหมือนเดิมทุกประการ ไม่ได้มีเงื่อนไขอะไรแจ้งมาแต่อย่างใด

ขออ้างอิงรูปที่คุณ logic ในโพสต์ #4 ด้านบน :roll: โปรแกรมจะทราบได้อย่างไรว่าเมื่อ Fail ต้องนำค่าใดมาแสดงบ้าง เพราะบางบรรทัดนำมาแสดงทั้งสองช่อง บางบรรทัดนำมาแสดงแค่ช่องเดียว เหตุใดจึงเป็นเช่นนั้น กรุณาอธิบายมาให้ละเอียดที่สุดเท่าที่จะทำได้ครับ
เรียนอาจารย์

ใน Sheet "Result" จะเป็นการประมวณผลข้อมูลจาก Sheet "Data" โดยให้แสดงผลข้อมูล Serial number และ Item และ Value
ของหัวข้อที่ไม่ผ่าน Limit ทุก Item ตาม Series number นั้นๆ ตามตัวอย่างใน Sheet "Result"
โดยที่ Column A จะให้แสดงผลของ Serial number ถ้า Serial number นั้นมี Item ที่เสียมากกว่า 1 Item
ในบรรทัดถัดไปไม่ต้องแสดง Serial number นั้นครับ

พอจะชัดเจนขึ้นไหมครับ

ชีท Result
C3
41.161
มาได้อย่างไร ???

Norkaz
non2_hab
Member
Member
Posts: 32
Joined: Mon Oct 18, 2021 11:43 am
Excel Ver: 365

Re: การดึงข้อมูลข้ามSheet

#11

Post by non2_hab »

[/quote]


ชีท Result
C3
41.161
มาได้อย่างไร ???

Norkaz
[/quote]

เรียนคุณ Norkaz
ผมต้องขอออกตัวก่อนนะครับ เบื้องต้นผมยังไม่มีความรู้ตาม Function ที่แต่ละท่านแนะนำมาครับ ซึ่งก็อาศัยหาความรู้จากในเพจนี้ครับ
ตอนนี้ผมกำลังหาความหมายและการทำงานของแต่ละ Function อยู่ครับ
ต้องขอโทษด้วยครับ หากมีอะไรแนะนำ ช่วยชี้แนะ ด้วยครับ

ขอบคุณครับ
User avatar
norkaz
Gold
Gold
Posts: 1826
Joined: Wed Jan 12, 2011 7:59 pm
Excel Ver: 2013,365

Re: การดึงข้อมูลข้ามSheet

#12

Post by norkaz »

...

ไม่ได้ถาม เรื่องฟังก์ชั่นครับ

ขอสอบถามใหม่ว่า คำถามที่สอบถามมา เป็นแบบนี้ใช่หรือไม่

1.ที่ชีท Data คอลัมน์ G ถ้าแถวใดมีค่า เป็น FAIL และ

2. ตัวเลข ในแถวนั้น มีค่าน้อยกว่า Limit Min ในแถวที่ 4 ---> ให้แสดงผลลัพธ์ ตามชีท Result

Norkaz
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: การดึงข้อมูลข้ามSheet

#13

Post by snasui »

:D ตัวอย่างสูตรตามที่เข้าใจ ตามด้านล่างครับ
  1. ที่ A2 คีย์
    =IFERROR(INDEX(Data!A:A,AGGREGATE(15,6,ROW(Data!$A$5:$A$14)/((((Data!$G$5:$G$14="FAIL")*((Data!$C$5:$C$14<Data!$C$4)+(Data!$C$5:$C$14>Data!$C$3)))+((Data!$G$5:$G$14="FAIL")*((Data!$D$5:$D$14<Data!$D$4)+(Data!$D$5:$D$14>Data!$D$3))))>={1,2}),ROWS(Data!G$5:G5))),"")
    Enter > Copy ลงด้านล่าง
  2. ที่ B2 คีย์
    =IF(A2="","",INDEX(Data!$2:$2,AGGREGATE(15,6,COLUMN(Data!$C$2:$D$2)/((INDEX(Data!$C$5:$D$14,MATCH(A2,Data!$A$5:$A$14,0),0)>Data!$C$3:$D$3)+(INDEX(Data!$C$5:$D$14,MATCH(A2,Data!$A$5:$A$14,0),0)<Data!$C$4:$D$4)),COUNTIF(A$2:A2,A2))))
    Enter > Copy ลงด้านล่าง
  3. ที่ C2 คีย์
    =IF(A2="","",INDEX(Data!$C$5:$D$14,MATCH(A2,Data!$A$5:$A$14,0),MATCH(B2,Data!$C$2:$D$2,0)))
    Enter > Copy ลงด้านล่าง
การอธิบายจะต้องระบุเงื่อนไขให้ชัดเจนครับ ตัวอย่างนี้มีการกล่าวถึง "หัวข้อที่ไม่ผ่าน Limit" ซึ่งค่า Limit ที่กล่าวถึงอยู่ในบรรทัดที่ 3 และ 4 ของชีต Data แต่ไม่ได้แจ้งเอาไว้ ไม่บอกตำแหน่งเซลล์ที่จะใช้เปรียบเทียบ ผู้ตอบย่อมไม่สามารถเข้าใจได้ ในโอกาสถัดไปควรอธิบายรายละเอียดของเงื่อนไขลักษณะนี้มาทุกครั้งครับ
You do not have the required permissions to view the files attached to this post.
User avatar
Bo_ry
Gold
Gold
Posts: 1245
Joined: Sun Aug 12, 2018 12:11 am
Excel Ver: MS 365
Contact:

Re: การดึงข้อมูลข้ามSheet

#14

Post by Bo_ry »

A2
=IFERROR(INDEX(Data!$A$1:$A$14,AGGREGATE(15,6,ROW(Data!$B$5:$F$14)/((Data!$B$5:$F$14>Data!$B$3:$F$3)+(Data!$B$5:$F$14<Data!$B$4:$F$4)),ROWS(A$2:A2))),"")

B2
=IFERROR(INDEX(Data!$A$2:$G$2,MOD(AGGREGATE(15,6,ROW(Data!$B$5:$F$14)*10^6+COLUMN(Data!$B$2:$F$2)/((Data!$B$5:$F$14>Data!$B$3:$F$3)+(Data!$B$5:$F$14<Data!$B$4:$F$4)),ROWS(A$2:A2)),10^6)),"")

C2
=IF(A2="","",VLOOKUP(A2,Data!$A$5:$F$14,MATCH(B2,Data!$A$2:$F$2,)))
You do not have the required permissions to view the files attached to this post.
non2_hab
Member
Member
Posts: 32
Joined: Mon Oct 18, 2021 11:43 am
Excel Ver: 365

Re: การดึงข้อมูลข้ามSheet

#15

Post by non2_hab »

norkaz wrote: Tue Oct 19, 2021 5:15 pm ...

ไม่ได้ถาม เรื่องฟังก์ชั่นครับ

ขอสอบถามใหม่ว่า คำถามที่สอบถามมา เป็นแบบนี้ใช่หรือไม่

1.ที่ชีท Data คอลัมน์ G ถ้าแถวใดมีค่า เป็น FAIL และ

2. ตัวเลข ในแถวนั้น มีค่าน้อยกว่า Limit Min ในแถวที่ 4 ---> ให้แสดงผลลัพธ์ ตามชีท Result

Norkaz
เรียนคุณ Norkaz

ครับผม ขอโทษที่ผมเข้าใจผิดด้วยครับ

ที่ทางท่านสอบถามมาเข้าใจถูกต้องแล้วครับ แต่ตรงข้อ 2 จะเป็นแบบนี้ครับ ที่ทางผมต้องการ

2. ตัวเลข ในแถวนั้น มีค่าน้อยกว่า Limit Min ในแถวที่ 4 หรือ มากกว่า Limit Max ในแถวที่ 3 ---> ให้แสดงผลลัพธ์ ตามชีท Result
non2_hab
Member
Member
Posts: 32
Joined: Mon Oct 18, 2021 11:43 am
Excel Ver: 365

Re: การดึงข้อมูลข้ามSheet

#16

Post by non2_hab »

snasui wrote: Tue Oct 19, 2021 6:20 pm :D ตัวอย่างสูตรตามที่เข้าใจ ตามด้านล่างครับ
  1. ที่ A2 คีย์
    =IFERROR(INDEX(Data!A:A,AGGREGATE(15,6,ROW(Data!$A$5:$A$14)/((((Data!$G$5:$G$14="FAIL")*((Data!$C$5:$C$14<Data!$C$4)+(Data!$C$5:$C$14>Data!$C$3)))+((Data!$G$5:$G$14="FAIL")*((Data!$D$5:$D$14<Data!$D$4)+(Data!$D$5:$D$14>Data!$D$3))))>={1,2}),ROWS(Data!G$5:G5))),"")
    Enter > Copy ลงด้านล่าง
  2. ที่ B2 คีย์
    =IF(A2="","",INDEX(Data!$2:$2,AGGREGATE(15,6,COLUMN(Data!$C$2:$D$2)/((INDEX(Data!$C$5:$D$14,MATCH(A2,Data!$A$5:$A$14,0),0)>Data!$C$3:$D$3)+(INDEX(Data!$C$5:$D$14,MATCH(A2,Data!$A$5:$A$14,0),0)<Data!$C$4:$D$4)),COUNTIF(A$2:A2,A2))))
    Enter > Copy ลงด้านล่าง
  3. ที่ C2 คีย์
    =IF(A2="","",INDEX(Data!$C$5:$D$14,MATCH(A2,Data!$A$5:$A$14,0),MATCH(B2,Data!$C$2:$D$2,0)))
    Enter > Copy ลงด้านล่าง
การอธิบายจะต้องระบุเงื่อนไขให้ชัดเจนครับ ตัวอย่างนี้มีการกล่าวถึง "หัวข้อที่ไม่ผ่าน Limit" ซึ่งค่า Limit ที่กล่าวถึงอยู่ในบรรทัดที่ 3 และ 4 ของชีต Data แต่ไม่ได้แจ้งเอาไว้ ไม่บอกตำแหน่งเซลล์ที่จะใช้เปรียบเทียบ ผู้ตอบย่อมไม่สามารถเข้าใจได้ ในโอกาสถัดไปควรอธิบายรายละเอียดของเงื่อนไขลักษณะนี้มาทุกครั้งครับ
ขอบคุณทางอาจารย์ snasui มากครับ
ขอบคุณสำหรับคำแนะนำในเรื่องการอธิบายเงื่อนไข ครั้งหน้าจะเอาไปปรับปรุงครับ
User avatar
norkaz
Gold
Gold
Posts: 1826
Joined: Wed Jan 12, 2011 7:59 pm
Excel Ver: 2013,365

Re: การดึงข้อมูลข้ามSheet

#17

Post by norkaz »

non2_hab wrote: Tue Oct 19, 2021 10:15 pm
norkaz wrote: Tue Oct 19, 2021 5:15 pm ...

ไม่ได้ถาม เรื่องฟังก์ชั่นครับ

ขอสอบถามใหม่ว่า คำถามที่สอบถามมา เป็นแบบนี้ใช่หรือไม่

1.ที่ชีท Data คอลัมน์ G ถ้าแถวใดมีค่า เป็น FAIL และ

2. ตัวเลข ในแถวนั้น มีค่าน้อยกว่า Limit Min ในแถวที่ 4 ---> ให้แสดงผลลัพธ์ ตามชีท Result

Norkaz
เรียนคุณ Norkaz

ครับผม ขอโทษที่ผมเข้าใจผิดด้วยครับ

ที่ทางท่านสอบถามมาเข้าใจถูกต้องแล้วครับ แต่ตรงข้อ 2 จะเป็นแบบนี้ครับ ที่ทางผมต้องการ

2. ตัวเลข ในแถวนั้น มีค่าน้อยกว่า Limit Min ในแถวที่ 4 หรือ มากกว่า Limit Max ในแถวที่ 3 ---> ให้แสดงผลลัพธ์ ตามชีท Result


แถมอีกแบบครับ

A2

=IFERROR(INDEX(Data!A:A,AGGREGATE(15,6,ROW(Data!$B$5:$B$14)/(Data!$B$5:$F$14<Data!$B$4:$F$4),ROWS($A$2:A2))),"")


B2
=IF(A2="","",INDEX(Data!$B$2:$F$2,AGGREGATE(15,6,COLUMN(Data!$B$5:$F$5)/(A2=Data!$A$5:$A$14)/(Data!$B$5:$F$14<Data!$B$4:$F$4),COUNTIF($A$2:A2,A2))-COLUMN(Data!$B$5)+1))


C2

=IF(A2="","",VLOOKUP(A2,Data!$A$5:$F$14,MATCH(B2,Data!$A$2:$F$2,0),0))

Norkaz
You do not have the required permissions to view the files attached to this post.
non2_hab
Member
Member
Posts: 32
Joined: Mon Oct 18, 2021 11:43 am
Excel Ver: 365

Re: การดึงข้อมูลข้ามSheet

#18

Post by non2_hab »

Bo_ry wrote: Tue Oct 19, 2021 10:06 pm A2
=IFERROR(INDEX(Data!$A$1:$A$14,AGGREGATE(15,6,ROW(Data!$B$5:$F$14)/((Data!$B$5:$F$14>Data!$B$3:$F$3)+(Data!$B$5:$F$14<Data!$B$4:$F$4)),ROWS(A$2:A2))),"")

B2
=IFERROR(INDEX(Data!$A$2:$G$2,MOD(AGGREGATE(15,6,ROW(Data!$B$5:$F$14)*10^6+COLUMN(Data!$B$2:$F$2)/((Data!$B$5:$F$14>Data!$B$3:$F$3)+(Data!$B$5:$F$14<Data!$B$4:$F$4)),ROWS(A$2:A2)),10^6)),"")

C2
=IF(A2="","",VLOOKUP(A2,Data!$A$5:$F$14,MATCH(B2,Data!$A$2:$F$2,)))
ขอบคุณ คุณ Bo_ry มากครับ ที่แนะนำ
non2_hab
Member
Member
Posts: 32
Joined: Mon Oct 18, 2021 11:43 am
Excel Ver: 365

Re: การดึงข้อมูลข้ามSheet

#19

Post by non2_hab »

norkaz wrote: Wed Oct 20, 2021 12:01 pm
non2_hab wrote: Tue Oct 19, 2021 10:15 pm
norkaz wrote: Tue Oct 19, 2021 5:15 pm ...

ไม่ได้ถาม เรื่องฟังก์ชั่นครับ

ขอสอบถามใหม่ว่า คำถามที่สอบถามมา เป็นแบบนี้ใช่หรือไม่

1.ที่ชีท Data คอลัมน์ G ถ้าแถวใดมีค่า เป็น FAIL และ

2. ตัวเลข ในแถวนั้น มีค่าน้อยกว่า Limit Min ในแถวที่ 4 ---> ให้แสดงผลลัพธ์ ตามชีท Result

Norkaz
เรียนคุณ Norkaz

ครับผม ขอโทษที่ผมเข้าใจผิดด้วยครับ

ที่ทางท่านสอบถามมาเข้าใจถูกต้องแล้วครับ แต่ตรงข้อ 2 จะเป็นแบบนี้ครับ ที่ทางผมต้องการ

2. ตัวเลข ในแถวนั้น มีค่าน้อยกว่า Limit Min ในแถวที่ 4 หรือ มากกว่า Limit Max ในแถวที่ 3 ---> ให้แสดงผลลัพธ์ ตามชีท Result


แถมอีกแบบครับ

A2

=IFERROR(INDEX(Data!A:A,AGGREGATE(15,6,ROW(Data!$B$5:$B$14)/(Data!$B$5:$F$14<Data!$B$4:$F$4),ROWS($A$2:A2))),"")


B2
=IF(A2="","",INDEX(Data!$B$2:$F$2,AGGREGATE(15,6,COLUMN(Data!$B$5:$F$5)/(A2=Data!$A$5:$A$14)/(Data!$B$5:$F$14<Data!$B$4:$F$4),COUNTIF($A$2:A2,A2))-COLUMN(Data!$B$5)+1))


C2

=IF(A2="","",VLOOKUP(A2,Data!$A$5:$F$14,MATCH(B2,Data!$A$2:$F$2,0),0))

Norkaz
ขอบคุณ คุณ norkaz มากครับที่แนะนำ
Post Reply