Page 1 of 2
แสดงรายการที่มีช่วงอายุที่ต้องการ
Posted: Tue Apr 23, 2019 6:55 pm
by Totem
เรียนอาจารย์และเพื่อนสมาชิก
ตัองการให้ปรับสูตรในช่อง E3- E7 โดยเพิ่มเติมว่าต้องตั้งแต่อายุ 15 ปีลงมา ให้ได้ผลลัพธ์ เหมือนในช่อง A3-A7
ขอบคุณครับ
age.xlsx
Re: แสดงรายการที่มีช่วงอายุที่ต้องการ
Posted: Tue Apr 23, 2019 7:39 pm
by puriwutpokin
ที่e3=IFERROR(INDEX(H$3:H$201,MATCH(1,INDEX(($K$3:$K$201=$F3)*($J$3:$J$201<=15),0),0)),"")
แล้วคอลัมน์ J ปรับค่าให้เป็นตัวเลขครับ
Re: แสดงรายการที่มีช่วงอายุที่ต้องการ
Posted: Tue Apr 23, 2019 7:45 pm
by ivan901
E3 =IF(VALUE(INDEX($J$3:$K$201, MATCH($F3, $K$3:$K$201, 0), 1))>15, "", INDEX($H$3:$H$201, MATCH($F3, $K$3:$K$201, 0))) Copy สูตรลงมา
Re: แสดงรายการที่มีช่วงอายุที่ต้องการ
Posted: Tue Apr 23, 2019 8:56 pm
by Totem
puriwutpokin wrote: Tue Apr 23, 2019 7:39 pm
ที่e3=IFERROR(INDEX(H$3:H$201,MATCH(1,INDEX(($K$3:$K$201=$F3)*($J$3:$J$201<=15),0),0)),"")
แล้วคอลัมน์ J ปรับค่าให้เป็นตัวเลขครับ
ในช่องอายุตอนดึงข้อมูลมาระบบเป็น TEXT ครับ แต่ถ้าคอลัมน์ J ปรับค่าให้เป็นตัวเลขครับ ได้ผลลัพธ์ตามต้องการ
ขอบคุณครับ
Re: แสดงรายการที่มีช่วงอายุที่ต้องการ
Posted: Tue Apr 23, 2019 9:00 pm
by Totem
ivan901 wrote: Tue Apr 23, 2019 7:45 pm
E3 =IF(VALUE(INDEX($J$3:$K$201, MATCH($F3, $K$3:$K$201, 0), 1))>15, "", INDEX($H$3:$H$201, MATCH($F3, $K$3:$K$201, 0))) Copy สูตรลงมา
ในระบบเมื่อผมดึงข้อมูลมาใช้ ในคอลัมน์ J จะเป็น TEXT สูตรนี้แก้ปัญหาโดยไม่ต้องเปลี่ยนเป็นตัวเลขก่อน ได้ตามต้องการครับ ขอบคุณครับ
Re: แสดงรายการที่มีช่วงอายุที่ต้องการ
Posted: Wed Apr 24, 2019 9:43 am
by Totem
นำไปปรับใช้ทั้งสองสูตรแล้วยังไม่ได้ผลลัพธ์ที่ถูกต้องครับ
ผมขออธิบายเพิ่มเติมว่าในคอลัมน์ F ไม่ได้เรียงรหัสตามคอลัมน์ K และคอลัมน์ K มีข้อมูลรหัสซ้ำกันได้หรือเป็นช่องว่างๆไม่มีข้อมูลรหัส เพราะเมื่อมีข้อมูลซ้ำกันหรือช่องว่างไม่มีข้อมูลสูตรทั้งสองจะไม่ได้คำตอบที่ต้องการครับ
จากสูตรเดิม
Code: Select all
=IFERROR(IF(COUNTIF($K$3:$K$201,$F3),INDEX(H$3:H$201,SMALL(IF($K$3:$K$201=$F3,ROW($K$3:$K$201)-ROW($K$3)+1),COUNTIF($F$3:$F3,$F3))),""),"")
ปรับสูตรเพิ่มเรื่อง อายุเข้าไปได้หรือไม่ครับ
ขอบคุณครับ
Re: แสดงรายการที่มีช่วงอายุที่ต้องการ
Posted: Wed Apr 24, 2019 11:22 am
by puriwutpokin
Totem wrote: Wed Apr 24, 2019 9:43 am
นำไปปรับใช้ทั้งสองสูตรแล้วยังไม่ได้ผลลัพธ์ที่ถูกต้องครับ
ผมขออธิบายเพิ่มเติมว่าในคอลัมน์ F ไม่ได้เรียงรหัสตามคอลัมน์ K และคอลัมน์ K มีข้อมูลรหัสซ้ำกันได้หรือเป็นช่องว่างๆไม่มีข้อมูลรหัส เพราะเมื่อมีข้อมูลซ้ำกันหรือช่องว่างไม่มีข้อมูลสูตรทั้งสองจะไม่ได้คำตอบที่ต้องการครับ
จากสูตรเดิม
Code: Select all
=IFERROR(IF(COUNTIF($K$3:$K$201,$F3),INDEX(H$3:H$201,SMALL(IF($K$3:$K$201=$F3,ROW($K$3:$K$201)-ROW($K$3)+1),COUNTIF($F$3:$F3,$F3))),""),"")
ปรับสูตรเพิ่มเรื่อง อายุเข้าไปได้หรือไม่ครับ
ขอบคุณครับ
ลองแนบไฟล์ล่าสุดที่มีการปรับ แล้วติดปัญหามาดูครับ
Re: แสดงรายการที่มีช่วงอายุที่ต้องการ
Posted: Wed Apr 24, 2019 1:15 pm
by Totem
puriwutpokin wrote: Wed Apr 24, 2019 11:22 am
Totem wrote: Wed Apr 24, 2019 9:43 am
นำไปปรับใช้ทั้งสองสูตรแล้วยังไม่ได้ผลลัพธ์ที่ถูกต้องครับ
ผมขออธิบายเพิ่มเติมว่าในคอลัมน์ F ไม่ได้เรียงรหัสตามคอลัมน์ K และคอลัมน์ K มีข้อมูลรหัสซ้ำกันได้หรือเป็นช่องว่างๆไม่มีข้อมูลรหัส เพราะเมื่อมีข้อมูลซ้ำกันหรือช่องว่างไม่มีข้อมูลสูตรทั้งสองจะไม่ได้คำตอบที่ต้องการครับ
จากสูตรเดิม
Code: Select all
=IFERROR(IF(COUNTIF($K$3:$K$201,$F3),INDEX(H$3:H$201,SMALL(IF($K$3:$K$201=$F3,ROW($K$3:$K$201)-ROW($K$3)+1),COUNTIF($F$3:$F3,$F3))),""),"")
ปรับสูตรเพิ่มเรื่อง อายุเข้าไปได้หรือไม่ครับ
ขอบคุณครับ
ลองแนบไฟล์ล่าสุดที่มีการปรับ แล้วติดปัญหามาดูครับ
ตามไฟล์ที่แนบครับ
age แก้ไข.xlsx
Re: แสดงรายการที่มีช่วงอายุที่ต้องการ
Posted: Wed Apr 24, 2019 1:36 pm
by puriwutpokin
ปรับเป็นตามนี้ครับ
ที่ E2=IFERROR(INDEX(H$3:H$201,MATCH(1,INDEX(($K$3:$K$201=$F3)*(VALUE($J$3:$J$201)<=15),0),0)+COUNTIF(F$3:F3,F3)-1),"")
Re: แสดงรายการที่มีช่วงอายุที่ต้องการ
Posted: Thu Apr 25, 2019 12:39 am
by ivan901
Totem wrote: Wed Apr 24, 2019 9:43 am
นำไปปรับใช้ทั้งสองสูตรแล้วยังไม่ได้ผลลัพธ์ที่ถูกต้องครับ
ผมขออธิบายเพิ่มเติมว่าในคอลัมน์ F ไม่ได้เรียงรหัสตามคอลัมน์ K และคอลัมน์ K มีข้อมูลรหัสซ้ำกันได้หรือเป็นช่องว่างๆไม่มีข้อมูลรหัส เพราะเมื่อมีข้อมูลซ้ำกันหรือช่องว่างไม่มีข้อมูลสูตรทั้งสองจะไม่ได้คำตอบที่ต้องการครับ
จากสูตรเดิม
Code: Select all
=IFERROR(IF(COUNTIF($K$3:$K$201,$F3),INDEX(H$3:H$201,SMALL(IF($K$3:$K$201=$F3,ROW($K$3:$K$201)-ROW($K$3)+1),COUNTIF($F$3:$F3,$F3))),""),"")
ปรับสูตรเพิ่มเรื่อง อายุเข้าไปได้หรือไม่ครับ
ขอบคุณครับ
แก้ไขสูตรใหม่ครับ
E3=IFERROR(INDEX($H$3:$H$201,SMALL(IF((K$3:K$201=$F3)*(VALUE($J$3:$J$201)<=15),(K$3:K$201=$F3)*(VALUE($J$3:$J$201)<=15)+ROW($K$3:$K$201),""),COUNTIF($F$3:$F3,$F3))-ROW($K$3:$K$201)),"") Ctrl + Shift + Enter
Re: แสดงรายการที่มีช่วงอายุที่ต้องการ
Posted: Thu Apr 25, 2019 7:04 am
by snasui
ตัวอย่างสูตรให้นำค่าที่น้อยกว่าหรือเท่ากับ 15 มาแสดงครับ
เซลล์ E3 คีย์
=IFERROR(INDEX(INDEX($H$3:$K$9,0,MATCH(E$2,$H$2:$K$2,0)),SMALL(IF(--$J$3:$J$9<16,ROW($H$3:$H$9)-ROW($E$3)+1),ROWS(E$3:E3))),"")
Ctrl+Shift+Enter > Copy ไป F3 แล้ว Copy ลงด้านล่าง
Re: แสดงรายการที่มีช่วงอายุที่ต้องการ
Posted: Thu Apr 25, 2019 1:05 pm
by Totem
ivan901 wrote: Thu Apr 25, 2019 12:39 am
Totem wrote: Wed Apr 24, 2019 9:43 am
นำไปปรับใช้ทั้งสองสูตรแล้วยังไม่ได้ผลลัพธ์ที่ถูกต้องครับ
ผมขออธิบายเพิ่มเติมว่าในคอลัมน์ F ไม่ได้เรียงรหัสตามคอลัมน์ K และคอลัมน์ K มีข้อมูลรหัสซ้ำกันได้หรือเป็นช่องว่างๆไม่มีข้อมูลรหัส เพราะเมื่อมีข้อมูลซ้ำกันหรือช่องว่างไม่มีข้อมูลสูตรทั้งสองจะไม่ได้คำตอบที่ต้องการครับ
จากสูตรเดิม
Code: Select all
=IFERROR(IF(COUNTIF($K$3:$K$201,$F3),INDEX(H$3:H$201,SMALL(IF($K$3:$K$201=$F3,ROW($K$3:$K$201)-ROW($K$3)+1),COUNTIF($F$3:$F3,$F3))),""),"")
ปรับสูตรเพิ่มเรื่อง อายุเข้าไปได้หรือไม่ครับ
ขอบคุณครับ
แก้ไขสูตรใหม่ครับ
E3=IFERROR(INDEX($H$3:$H$201,SMALL(IF((K$3:K$201=$F3)*(VALUE($J$3:$J$201)<=15),(K$3:K$201=$F3)*(VALUE($J$3:$J$201)<=15)+ROW($K$3:$K$201),""),COUNTIF($F$3:$F3,$F3))-ROW($K$3:$K$201)),"") Ctrl + Shift + Enter
ยังไม่ได้ตามต้องการ เพราะคอลัมน์ F อาจมีรหัสซ้ำขึ้นมาได้และข้อมูลในคอลัมน์ K ได้มาก็ซ้ำได้ด้วยครับ
แนบตัวอย่างที่ต้องการไว้ในไฟล์แล้วครับ ขอบคุณครับ
age แก้ไขเพิ่ม.xlsx
Re: แสดงรายการที่มีช่วงอายุที่ต้องการ
Posted: Thu Apr 25, 2019 1:12 pm
by Totem
snasui wrote: Thu Apr 25, 2019 7:04 am
ตัวอย่างสูตรให้นำค่าที่น้อยกว่าหรือเท่ากับ 15 มาแสดงครับ
เซลล์ E3 คีย์
=IFERROR(INDEX(INDEX($H$3:$K$9,0,MATCH(E$2,$H$2:$K$2,0)),SMALL(IF(--$J$3:$J$9<16,ROW($H$3:$H$9)-ROW($E$3)+1),ROWS(E$3:E3))),"")
Ctrl+Shift+Enter > Copy ไป F3 แล้ว Copy ลงด้านล่าง
นำไปใช้แล้ว เมื่อคลุมพื้นที่ในคอลัมน์ H ถึง K และ J ให้รวมไปถึงพื้นที่ว่างๆ คือเผื่อดึงข้อมูลมาแล้วไม่พอ เลยกำหนดให้เยอะไว้ก่อน ทำให้สูตรที่ได้จากอาจารย์ แสดงผลลัพธ์เป็นว่างครับ ขอบคุณครับ
Re: แสดงรายการที่มีช่วงอายุที่ต้องการ
Posted: Thu Apr 25, 2019 1:20 pm
by logic
แบบนี้ได้ไหมครับ
E3 =IFERROR(INDEX(INDEX($H$3:$K$9,0,MATCH(E$2,$H$2:$K$2,0)),SMALL(IF($J$3:$J$9<>"",IF($J$3:$J$9+0<16,ROW($H$3:$H$9)-ROW($E$3)+1)),ROWS(E$3:E3))),"") Ctrl+Shift+Enter
Re: แสดงรายการที่มีช่วงอายุที่ต้องการ
Posted: Thu Apr 25, 2019 1:32 pm
by puriwutpokin
Totem wrote: Thu Apr 25, 2019 1:12 pm
snasui wrote: Thu Apr 25, 2019 7:04 am
ตัวอย่างสูตรให้นำค่าที่น้อยกว่าหรือเท่ากับ 15 มาแสดงครับ
เซลล์ E3 คีย์
=IFERROR(INDEX(INDEX($H$3:$K$9,0,MATCH(E$2,$H$2:$K$2,0)),SMALL(IF(--$J$3:$J$9<16,ROW($H$3:$H$9)-ROW($E$3)+1),ROWS(E$3:E3))),"")
Ctrl+Shift+Enter > Copy ไป F3 แล้ว Copy ลงด้านล่าง
นำไปใช้แล้ว เมื่อคลุมพื้นที่ในคอลัมน์ H ถึง K และ J ให้รวมไปถึงพื้นที่ว่างๆ คือเผื่อดึงข้อมูลมาแล้วไม่พอ เลยกำหนดให้เยอะไว้ก่อน ทำให้สูตรที่ได้จากอาจารย์ แสดงผลลัพธ์เป็นว่างครับ ขอบคุณครับ
แก้ไขของเดิมดูครับปรับเป็น
E3=IFERROR(INDEX(H$3:H$201,AGGREGATE(15,6,(ROW(K$3:K$201)-ROW(K$2))/((K$3:K$201=$F3)*(VALUE(J$3:J$201)<=15)),COUNTIF(F$3:F3,F3))),"") คัดลอกลงครับ
Re: แสดงรายการที่มีช่วงอายุที่ต้องการ
Posted: Thu Apr 25, 2019 2:38 pm
by Totem
logic wrote: Thu Apr 25, 2019 1:20 pm
แบบนี้ได้ไหมครับ
E3 =IFERROR(INDEX(INDEX($H$3:$K$9,0,MATCH(E$2,$H$2:$K$2,0)),SMALL(IF($J$3:$J$9<>"",IF($J$3:$J$9+0<16,ROW($H$3:$H$9)-ROW($E$3)+1)),ROWS(E$3:E3))),"") Ctrl+Shift+Enter
ยังไม่ได้ครับ ขอบคุณครับ
Re: แสดงรายการที่มีช่วงอายุที่ต้องการ
Posted: Thu Apr 25, 2019 2:42 pm
by Totem
puriwutpokin wrote: Thu Apr 25, 2019 1:32 pm
Totem wrote: Thu Apr 25, 2019 1:12 pm
snasui wrote: Thu Apr 25, 2019 7:04 am
ตัวอย่างสูตรให้นำค่าที่น้อยกว่าหรือเท่ากับ 15 มาแสดงครับ
เซลล์ E3 คีย์
=IFERROR(INDEX(INDEX($H$3:$K$9,0,MATCH(E$2,$H$2:$K$2,0)),SMALL(IF(--$J$3:$J$9<16,ROW($H$3:$H$9)-ROW($E$3)+1),ROWS(E$3:E3))),"")
Ctrl+Shift+Enter > Copy ไป F3 แล้ว Copy ลงด้านล่าง
นำไปใช้แล้ว เมื่อคลุมพื้นที่ในคอลัมน์ H ถึง K และ J ให้รวมไปถึงพื้นที่ว่างๆ คือเผื่อดึงข้อมูลมาแล้วไม่พอ เลยกำหนดให้เยอะไว้ก่อน ทำให้สูตรที่ได้จากอาจารย์ แสดงผลลัพธ์เป็นว่างครับ ขอบคุณครับ
แก้ไขของเดิมดูครับปรับเป็น
E3=IFERROR(INDEX(H$3:H$201,AGGREGATE(15,6,(ROW(K$3:K$201)-ROW(K$2))/((K$3:K$201=$F3)*(VALUE(J$3:J$201)<=15)),COUNTIF(F$3:F3,F3))),"") คัดลอกลงครับ
ใช่เลย ยอดเยี่ยมครับ ได้ตามต้องการครับ ขอบคุณ คุณ puriwutpokin และอาจารย์รวมถึงเพื่อนสมาชิกที่ช่วยตอบและแก้ไขปัญหาให้ครับ
Re: แสดงรายการที่มีช่วงอายุที่ต้องการ
Posted: Thu Apr 25, 2019 3:36 pm
by Totem
มีคำถามเพิ่มเติมอีกนิดครับว่า ในคอลัมน์ J เป็น TEXT มีข้อความ 0-6-27 (ปี-เดือน-วัน )อยู่ด้วย จะปรับสูตร
(VALUE(J$3:J$201)<=15) โดยการตัดข้อความตั้งแต่ -6-27 (-เดือน-วัน)ออกไป ให้เหลือแต่ 0 ปี จะได้ <=15
ขอบคุณครับ
Re: แสดงรายการที่มีช่วงอายุที่ต้องการ
Posted: Thu Apr 25, 2019 3:45 pm
by puriwutpokin
ปรับเป็นที่ E3=IFERROR(INDEX(H$3:H$201,AGGREGATE(15,6,(ROW(K$3:K$201)-ROW(K$2))/((K$3:K$201=$F3)*((LEFT(J$3:J$201,FIND("-",J$3:J$201)-1)+0)<=15)),COUNTIF(F$3:F3,F3))),"") คัดลอกลงครับ
Re: แสดงรายการที่มีช่วงอายุที่ต้องการ
Posted: Fri Apr 26, 2019 12:06 pm
by Totem
puriwutpokin wrote: Thu Apr 25, 2019 3:45 pm
ปรับเป็นที่ E3=IFERROR(INDEX(H$3:H$201,AGGREGATE(15,6,(ROW(K$3:K$201)-ROW(K$2))/((K$3:K$201=$F3)*((LEFT(J$3:J$201,FIND("-",J$3:J$201)-1)+0)<=15)),COUNTIF(F$3:F3,F3))),"") คัดลอกลงครับ
ได้เฉพาะในส่วนที่ตัดออกไป 0-1-1 แต่ในช่องคอลัมน์ E ด้วยกัน ข้อความตัวเลขอื่นกลับเป็นค่าว่างครับ ยังไม่ได้ตามที่ต้องการครับ
age แก้ไขเพิ่ม LEFT.xlsx