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
:D อ่านแล้วไม่เข้าใจครับ

เงื่อนไขให้ดึงข้อมูลมาด้วยเงื่อนไขของการที่มี NG

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

Re: สูตรดึงข้อมูลแบบมีเงื่อนไข

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

เงื่อนไขให้ดึงข้อมูลมาด้วยเงื่อนไขของการที่มี 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
:D ถ้าไม่ทราบเงื่อนไขก็ไม่สามารถหาคำตอบให้ตรงกับที่ต้องการได้ แม้เบื้องต้นจะได้คำตอบแต่พอข้อมูลเปลี่ยนไปอาจจะไม่ได้คำตอบก็เป็นได้ ดังนั้น จำเป็นต้องมีเงื่อนไขประกอบครับ

Re: สูตรดึงข้อมูลแบบมีเงื่อนไข

Posted: Thu Feb 06, 2020 3:37 pm
by nakhonchai
สวัสดีครับอาจารย์
:D ถ้าไม่ทราบเงื่อนไขก็ไม่สามารถหาคำตอบให้ตรงกับที่ต้องการได้ แม้เบื้องต้นจะได้คำตอบแต่พอข้อมูลเปลี่ยนไปอาจจะไม่ได้คำตอบก็เป็นได้ ดังนั้น จำเป็นต้องมีเงื่อนไขประกอบครับ
ถ้าผมขอกำหนดเงื่อนไขเป็น ถ้ามีข้อมูลใดๆ ใน 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
:D ตัวอย่างสูตรครับ

เซลล์ 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
:D ไม่เข้าใจครับ

ช่วยอธิบายว่าไม่แสดงค่าที่ว่านั้นมีลักษณะเป็นอย่างไร ข้อมูลใดที่มีการเติมเข้าไปใหม่ จะได้เข้าถึงปัญหาโดยไวครับ

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
:D คอลัมน์ G เป็นการนำข้อมูลในคอลัมน์ B ไปหาคำตอบจึงไม่สามารถใช้คอลัมน์ G มาเป็นเงื่อนไขของสูตรในคอลัมน์ B ได้เพราะจะเกิดการคำนวณเป็นวงกลมครับ

Re: สูตรดึงข้อมูลแบบมีเงื่อนไข

Posted: Fri Feb 14, 2020 4:12 pm
by nakhonchai
สวัสดีครับอาจารย์
:D คอลัมน์ 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
:D กรุณาอธิบายมาเป็นข้อความว่าตรง J6 ต้องการจะทำอะไร ด้วยเงื่อนไขใด คำตอบที่ถูกต้องคือค่าใด จะได้เข้าถึงปัญหาโดยไวครับ

Re: สูตรดึงข้อมูลแบบมีเงื่อนไข

Posted: Tue Feb 18, 2020 7:50 am
by nakhonchai
สวัสดีครับอาจารย์
:D กรุณาอธิบายมาเป็นข้อความว่าตรง 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
:D ปรับสูตรในคอลัมน์ 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
สวัสดีครับอาจารย์
:D ปรับสูตรในคอลัมน์ O ใหม่ตามด้านล่างแล้วลองดูว่าได้คำตอบที่ต้องการหรือไม่ครับ
ได้คำตอบตามต้องการเลยครับ

ขอบคุณมากครับ