Page 1 of 1
สูตรดึงข้อมูลแบบมีเงื่อนไข
Posted: Tue Feb 04, 2020 1:51 pm
by nakhonchai
สวัสดีครับอาจารย์ และเพื่อนๆทุกท่าน
จากไฟล์ที่แนบมา
ผมได้ทำการเขียนสูตรดึงข้อมูลจาก Sheet "SHAFT TYPE KO246_SP385_JAN" มายัง Sheet "SUM_JAN"
ซึ่งข้อมูลที่ดึงมา จะเป็นการดึงข้อมูลที่มี การเกิด NG เช่น
- KO246B-7 มี NG อยู่ 3 ตัว
- KO246B-2 และ KO246B-3 ไม่มี NG จะไม่ถูกดึงข้อมูลมาแสดง
เนื่องจากสูตรที่ผมเขียนจะอ้างอิงจาก % NG RATE ที่ Column U
คือถ้ามี % NG RATE ที่ Model ใดๆ จะทำการดึงข้อมูลมา
ปล. สูตรที่ผมเขียนดูตัวอย่างในกระทู้แล้วลองมาหัดเขียนเองครับ
ผมต้องการดึงข้อมูลให้เป็นแบบ Sheet "ต้องการแบบนี้" ครับ
รบกวนอาจารย์และเพื่อนๆ ช่วยให้คำแนะนำด้วยครับ
ขอบคุณมากครับ
Re: สูตรดึงข้อมูลแบบมีเงื่อนไข
Posted: Tue Feb 04, 2020 8:45 pm
by snasui

อ่านแล้วไม่เข้าใจครับ
เงื่อนไขให้ดึงข้อมูลมาด้วยเงื่อนไขของการที่มี NG
แต่พบว่า KO246B-2 และ KO246B-3 ไม่มี NG แต่นำมาแสดงในชีต "ต้องการแบบนี้" ด้วย สองรายการนี้มาด้วยเงื่อนไขใดครับ

Re: สูตรดึงข้อมูลแบบมีเงื่อนไข
Posted: Wed Feb 05, 2020 1:33 pm
by nakhonchai
สวัสดีครับอาจารย์

อ่านแล้วไม่เข้าใจครับ
เงื่อนไขให้ดึงข้อมูลมาด้วยเงื่อนไขของการที่มี NG
แต่พบว่า KO246B-2 และ KO246B-3 ไม่มี NG แต่นำมาแสดงในชีต "ต้องการแบบนี้" ด้วย สองรายการนี้มาด้วยเงื่อนไขใดครับ
ผมต้องการดึงข้อมูลจาก Sheet "SHAFT TYPE KO246_SP385_JAN" มาแสดงเป็นแบบ Sheet "ต้องการแบบนี้" ครับ
สำหรับ Sheet "SUM_JAN" ผมเขียนเองโดยให้ดึงข้อมูลมาด้วยเงื่อนไขของการที่มี NG
สำหรับ Sheet "ต้องการแบบนี้" เป็นแบบที่ผมต้องการครับ แต่ผมไม่รู้จะใช้เงื่อนไขใด หรือใช้สูตรแบบไหนครับอาจารย์
จึงรบกวนอาจารย์ช่วยให้คำแนะนำด้วยครับ
ขอบคุณมากครับอาจารย์
Re: สูตรดึงข้อมูลแบบมีเงื่อนไข
Posted: Wed Feb 05, 2020 9:28 pm
by snasui

ถ้าไม่ทราบเงื่อนไขก็ไม่สามารถหาคำตอบให้ตรงกับที่ต้องการได้ แม้เบื้องต้นจะได้คำตอบแต่พอข้อมูลเปลี่ยนไปอาจจะไม่ได้คำตอบก็เป็นได้ ดังนั้น จำเป็นต้องมีเงื่อนไขประกอบครับ
Re: สูตรดึงข้อมูลแบบมีเงื่อนไข
Posted: Thu Feb 06, 2020 3:37 pm
by nakhonchai
สวัสดีครับอาจารย์

ถ้าไม่ทราบเงื่อนไขก็ไม่สามารถหาคำตอบให้ตรงกับที่ต้องการได้ แม้เบื้องต้นจะได้คำตอบแต่พอข้อมูลเปลี่ยนไปอาจจะไม่ได้คำตอบก็เป็นได้ ดังนั้น จำเป็นต้องมีเงื่อนไขประกอบครับ
ถ้าผมขอกำหนดเงื่อนไขเป็น ถ้ามีข้อมูลใดๆ ใน Column "Model" ให้ทำการดึงข้อมูลมา
และข้อมูลที่ดึงมาให้เรียงข้อมูลที่มี NG Rate ก่อนโดยเรียงจากมากไปหาน้อย
ถ้า Model ใดไม่มี NG Rate ค่อยเรียงต่อกัน
แบบนี้น่ะครับอาจารย์ที่ต้องการ
รบกวนอาจารย์ด้วยครับ
ขอบคุณมากๆครับ
Re: สูตรดึงข้อมูลแบบมีเงื่อนไข
Posted: Thu Feb 06, 2020 3:51 pm
by Supachok
B5
=IFERROR(INDEX('SHAFT TYPE KO246_SP385_JAN'!$A$6:$A$39,MATCH(G5,'SHAFT TYPE KO246_SP385_JAN'!$B$6:$B$39,0)),"")
F5
=LARGE('SHAFT TYPE KO246_SP385_JAN'!$D$6:$D$39,ROW(A1))
G5
=INDEX('SHAFT TYPE KO246_SP385_JAN'!$B$6:$B$39,MATCH(F5,'SHAFT TYPE KO246_SP385_JAN'!D6:D39,0))
H5
=IFERROR(INDEX('SHAFT TYPE KO246_SP385_JAN'!$E$5:$T$5,MATCH(F5,'SHAFT TYPE KO246_SP385_JAN'!$E$8:$T$8,0)),"")
Re: สูตรดึงข้อมูลแบบมีเงื่อนไข
Posted: Fri Feb 07, 2020 2:51 pm
by nakhonchai
สวัสดีครับ พี่ Supachok และอาจารย์
พี่ Supachok จากสูตรที่พี่แนะนำมา
ผมลองใส่สูตรแล้วลากลงมาจะมีข้อมูลซ้ำๆลงมาเรื่อยๆ ส่วนที่เป็นสีเหลืองครับ
รบกวนช่วยแนะนำด้วยครับ
ขอบคุณมากครับ
B5
=IFERROR(INDEX('SHAFT TYPE KO246_SP385_JAN'!$A$6:$A$39,MATCH(G5,'SHAFT TYPE KO246_SP385_JAN'!$B$6:$B$39,0)),"")
F5
=LARGE('SHAFT TYPE KO246_SP385_JAN'!$D$6:$D$39,ROW(A1))
G5
=INDEX('SHAFT TYPE KO246_SP385_JAN'!$B$6:$B$39,MATCH(F5,'SHAFT TYPE KO246_SP385_JAN'!D6:D39,0))
H5
=IFERROR(INDEX('SHAFT TYPE KO246_SP385_JAN'!$E$5:$T$5,MATCH(F5,'SHAFT TYPE KO246_SP385_JAN'!$E$8:$T$8,0)),"")
Re: สูตรดึงข้อมูลแบบมีเงื่อนไข
Posted: Fri Feb 07, 2020 3:26 pm
by Supachok
G5
=IF(COUNTIF($G$4:G4,(INDEX('SHAFT TYPE KO246_SP385_JAN'!$B$6:$B$39,MATCH(F5,'SHAFT TYPE KO246_SP385_JAN'!D6:D39,0)))),"",(INDEX('SHAFT TYPE KO246_SP385_JAN'!$B$6:$B$39,MATCH(F5,'SHAFT TYPE KO246_SP385_JAN'!D6:D39,0))))
c5
=IFERROR(IF(F8<>"",VLOOKUP(B8,'Part Price'!C5:E13,3,0),""),"")
Re: สูตรดึงข้อมูลแบบมีเงื่อนไข
Posted: Mon Feb 10, 2020 5:28 pm
by nakhonchai
สวัสดีครับ พี่ Supachok
จากสูตรนี้ ไม่ได้ครับพี่
ผมลองแก้นู่นนี่นั่นล่ะ ยังไม่ได้เหมือนกัน 555
รบกวนพี่ๆ และอาจารย์ด้วยครับ
ขอบคุณมากๆครับ
G5
=IF(COUNTIF($G$4:G4,(INDEX('SHAFT TYPE KO246_SP385_JAN'!$B$6:$B$39,MATCH(F5,'SHAFT TYPE KO246_SP385_JAN'!D6:D39,0)))),"",(INDEX('SHAFT TYPE KO246_SP385_JAN'!$B$6:$B$39,MATCH(F5,'SHAFT TYPE KO246_SP385_JAN'!D6:D39,0))))
c5
=IFERROR(IF(F8<>"",VLOOKUP(B8,'Part Price'!C5:E13,3,0),""),"")
Re: สูตรดึงข้อมูลแบบมีเงื่อนไข
Posted: Mon Feb 10, 2020 6:15 pm
by snasui

ตัวอย่างสูตรครับ
เซลล์ B1 คีย์
=IFERROR(INDEX('SHAFT TYPE KO246_SP385_JAN'!$A:$A,AGGREGATE(15,6,ROW('SHAFT TYPE KO246_SP385_JAN'!$A$6:$A$39)/('SHAFT TYPE KO246_SP385_JAN'!$U$6:$U$39=LARGE(IF('SHAFT TYPE KO246_SP385_JAN'!$A$6:$A$39<>"",'SHAFT TYPE KO246_SP385_JAN'!$U$6:$U$39),ROWS(B$5:B5)))/(COUNTIF($B$3:B4,'SHAFT TYPE KO246_SP385_JAN'!$A$6:$A$39&"")=0),1)),"")
Ctrl+Shift+Enter > Copy ลงด้านล่าง
Re: สูตรดึงข้อมูลแบบมีเงื่อนไข
Posted: Mon Feb 10, 2020 10:48 pm
by nakhonchai
สวัสดีครับอาจารย์
ผมลองใส่สูตรของอาจารย์แล้ว พอลองเติม Model และ จำนวนเพิ่ม ไม่แสดงค่าครับ ตามไฟล์แนบครับอาจารย์
รบกวนขอคำแนะนำทีครับอาจารย์
ขอบคุณมากๆครับอาจารย์
ตอนนี้ผมใส่สูตรตามนี้ครับ
เซลล์ B1 คีย์
=IFERROR(INDEX('SHAFT TYPE KO246_SP385_JAN'!$A:$A,AGGREGATE(15,6,ROW('SHAFT TYPE KO246_SP385_JAN'!$A$6:$A$39)/('SHAFT TYPE KO246_SP385_JAN'!$U$6:$U$39=LARGE(IF('SHAFT TYPE KO246_SP385_JAN'!$A$6:$A$39<>"",'SHAFT TYPE KO246_SP385_JAN'!$U$6:$U$39),ROWS(B$5:B5)))/(COUNTIF($B$3:B4,'SHAFT TYPE KO246_SP385_JAN'!$A$6:$A$39&"")=0),1)),"")
Ctrl+Shift+Enter > Copy ลงด้านล่าง
เซลล์ E5 คีย์
=IFERROR(IF(LARGE('SHAFT TYPE KO246_SP385_JAN'!$U$6:$U$18,ROWS($E$5:E8))=0,"",LARGE('SHAFT TYPE KO246_SP385_JAN'!$U$6:$U$18,ROWS($E$5:E8))),"")
เซลล์ F5 คีย์
=LARGE('SHAFT TYPE KO246_SP385_JAN'!$D$6:$D$39,ROW(A1))
เซลล์ G5 คีย์
=IF(COUNTIF($G$4:G4,(INDEX('SHAFT TYPE KO246_SP385_JAN'!$B$6:$B$39,MATCH(F5,'SHAFT TYPE KO246_SP385_JAN'!D6:D39,0)))),"",(INDEX('SHAFT TYPE KO246_SP385_JAN'!$B$6:$B$39,MATCH(F5,'SHAFT TYPE KO246_SP385_JAN'!D6:D39,0))))
Re: สูตรดึงข้อมูลแบบมีเงื่อนไข
Posted: Wed Feb 12, 2020 9:14 pm
by snasui

ไม่เข้าใจครับ
ช่วยอธิบายว่าไม่แสดงค่าที่ว่านั้นมีลักษณะเป็นอย่างไร ข้อมูลใดที่มีการเติมเข้าไปใหม่ จะได้เข้าถึงปัญหาโดยไวครับ
Re: สูตรดึงข้อมูลแบบมีเงื่อนไข
Posted: Thu Feb 13, 2020 4:47 pm
by nakhonchai
สวัสดีครับอาจารย์
ผมแก้ได้แล้วครับ
ขอบคุณมากครับ
Re: สูตรดึงข้อมูลแบบมีเงื่อนไข
Posted: Thu Feb 13, 2020 5:43 pm
by nakhonchai
สวัสดีครับอาจารย์
ขอถามเพิ่มเติมครับ ผมต้องการให้
ที่ Sheet SUM ให้ Column B แสดงชื่อรุ่น เมื่อ Column G มีข้อมูลเท่านั้น
ต้องปรับสูตรอย่างไรบ้างครับ
ขอบคุณมากๆครับ
Re: สูตรดึงข้อมูลแบบมีเงื่อนไข
Posted: Thu Feb 13, 2020 9:53 pm
by snasui

คอลัมน์ G เป็นการนำข้อมูลในคอลัมน์ B ไปหาคำตอบจึงไม่สามารถใช้คอลัมน์ G มาเป็นเงื่อนไขของสูตรในคอลัมน์ B ได้เพราะจะเกิดการคำนวณเป็นวงกลมครับ
Re: สูตรดึงข้อมูลแบบมีเงื่อนไข
Posted: Fri Feb 14, 2020 4:12 pm
by nakhonchai
สวัสดีครับอาจารย์

คอลัมน์ G เป็นการนำข้อมูลในคอลัมน์ B ไปหาคำตอบจึงไม่สามารถใช้คอลัมน์ G มาเป็นเงื่อนไขของสูตรในคอลัมน์ B ได้เพราะจะเกิดการคำนวณเป็นวงกลมครับ
ขอบคุณมากครับอาจารย์ สำหรับคำอธิบาย เข้าใจเลยครับ
ขอถามเพิ่มเติมครับ จากไฟล์ ที่ Column J และ K ที่ Cell J6 และ K6
ในส่วนนี้จะมี NG ที่ Sheet ALL แค่ค่าเดียว แต่มันแสดงค่า NG แรกมาด้วยทั้งที่ค่าแรกไม่มีข้อมูล
ผมต้องปรับสูตรในส่วนนี้อย่างไรครับอาจารย์
ขอบคุณครับอาจารย์
Re: สูตรดึงข้อมูลแบบมีเงื่อนไข
Posted: Sun Feb 16, 2020 7:25 am
by snasui

กรุณาอธิบายมาเป็นข้อความว่าตรง J6 ต้องการจะทำอะไร ด้วยเงื่อนไขใด คำตอบที่ถูกต้องคือค่าใด จะได้เข้าถึงปัญหาโดยไวครับ
Re: สูตรดึงข้อมูลแบบมีเงื่อนไข
Posted: Tue Feb 18, 2020 7:50 am
by nakhonchai
สวัสดีครับอาจารย์

กรุณาอธิบายมาเป็นข้อความว่าตรง J6 ต้องการจะทำอะไร ด้วยเงื่อนไขใด คำตอบที่ถูกต้องคือค่าใด จะได้เข้าถึงปัญหาโดยไวครับ
ปล. Data ที่ดึงมา จะมาจาก Sheet ALL
ในส่วน J6
- ต้องการทำอะไร
คำตอบ : ต้องการแสดงรายการที่เป็น NG อันดับ 2 ของ PART NAME (Cell B6) ครับแต่ในกรณีนี้มีรายการที่เป็น NG เพียงรายการเดียวคือ WAVE NG
- ด้วยเงื่อนไขใด
คำตอบ : เมื่อมีจำนวน NG ในรายการใดของ PART NAME นั้น จะนำค่าที่มาก 2 อันดับแรกมาแสดงครับ
- คำตอบที่ถูกต้องคือค่าใด
คำตอบ : ในกรณีนี้ Cell นี้ (สีเหลือง) ต้องไม่มีค่าใดๆ เพราะจำนวน NG ของ PART NAME นี้มีแค่ WAVE NG อย่างเดียวครับ
รบกวนอาจารย์ด้วยครับ
ขอบคุณมากครับ
Re: สูตรดึงข้อมูลแบบมีเงื่อนไข
Posted: Tue Feb 18, 2020 8:14 pm
by snasui

ปรับสูตรในคอลัมน์ O ใหม่ตามด้านล่างแล้วลองดูว่าได้คำตอบที่ต้องการหรือไม่ครับ
เซลล์ O5 คีย์
=IFERROR(AGGREGATE(14,6,OFFSET(ALL!$G$3,MATCH($E5,ALL!$F$4:$F$9,0),0,,37)/(OFFSET(ALL!$G$3,MATCH($E5,ALL!$F$4:$F$9,0),0,,37)>0),2),"")
Enter > Copy ลงด้านล่าง
Re: สูตรดึงข้อมูลแบบมีเงื่อนไข
Posted: Wed Feb 19, 2020 3:08 pm
by nakhonchai
สวัสดีครับอาจารย์

ปรับสูตรในคอลัมน์ O ใหม่ตามด้านล่างแล้วลองดูว่าได้คำตอบที่ต้องการหรือไม่ครับ
ได้คำตอบตามต้องการเลยครับ
ขอบคุณมากครับ