Page 1 of 1

ขอความช่วยเหลือดึงข้อมูลที่มีเงื่อนไขซับซ้อนครับ

Posted: Fri Jun 29, 2018 4:45 pm
by phoopha13
ขอความช่วยเหลือจากท่านอาจารย์ ในการดึงข้อมูลครับ พอดีจะต้องรีบทำรายงานส่งวันที่ 10/7/2561 ซึ่งต้องใช้เงื่อนไขเรื่องวันเดือนปีมากำกับครับ

Re: ขอความช่วยเหลือดึงข้อมูลที่มีเงื่อนไขซับซ้อนครับ

Posted: Fri Jun 29, 2018 9:49 pm
by snasui
:D ค่อย ๆ ถามตอบกันไปครับ

การจะดึงมาได้จะต้องมีตัวตรวจสอบว่าตรงกับเงือนไขใดจึงจะดึงมา

จากที่ถามมาข้อ 1 คือ
1.จะต้องใช้สูตรอะไรดึงข้อมูลจากอีกตารางในด้านขวามือcolum BD9 ,BE9 มาเติมใส่ใน B9 ครับ
คำถามคือ นำ BD9, BE9 มาใส่ใน B9 ด้วยเงื่อนไขใด เช่นค่าไหนตรงกับค่าไหน เมื่อเข้าเงื่อนไขแล้วจึงจะดึงมา กรุณาเขียนทุกเงื่อนไขมาอย่างละเอียดครับ

Re: ขอความช่วยเหลือดึงข้อมูลที่มีเงื่อนไขซับซ้อนครับ

Posted: Fri Jun 29, 2018 10:31 pm
by phoopha13
ขอบคุณท่านอาจารย์ที่ช่วยเหลือครับ
คือข้อที่ 1 อยากได้ที่B9 มีชื่อและนามสกุลคือ BD + BE เข้าไปได้ เงื่อนไขคือค่า CA, CE ,CI , CM , CQ ซึ่งเป็นวันที่ ค่าใดค่าหนึ่งจะต้องอยู่ในช่วงเวลา 1/2/2018-30/6/2018 ครับ จึงจะให้ชื่อและนามสุกลไปอยู่ใน B9 ครับ

Re: ขอความช่วยเหลือดึงข้อมูลที่มีเงื่อนไขซับซ้อนครับ

Posted: Fri Jun 29, 2018 10:58 pm
by phoopha13
ข้อที่ 2 เมื่อได้B9 เป็นชื่อและสกุลแล้ว หาอายุจากวันเดือนปีเกิดของชื่อที่อยู่คอลัม BG และให้ค่าวันที่ที่อยู่ในช่วงเวลาจากข้อ1 ในคอลัมCQ มาลบกับ BG เป็นอายุ (ปี) ครับ ใส่ใน C9 ครับ
ข้อที่ 3 ดึงเลขบัตรประชาชนของคนชื่อนั้นๆมาจากคอลัม BB ครับ ใส่ใน D9 ครับ
ข้อที่ 4 ดึงเลขที่บ้านจากคอลัมBI ของชื่อคนนั้น และ BJ โดยมีเลขที่บ้าน เช่นชื่อกัญญาภัค มีบ้านเลขที่ 124 + 50100706(รหัสที่อยู่) ==> 124 ม6 ต.มะลิกา ซึ่งรหัสผมได้ลงBJ21:BK30 ครับ โดยนำไปใส่ในคอลัม E9 ครับ
ข้อที่ 5 อายุครรภ์คือช่วงเวลาที่1/2/2018-30/6/2018 อยู่ในคอลัม CQ ซึ่งเป็นวันที่ในเงื่อนไข อยากได้ข้อมูลจาก CP คือ 37 มาใส่ในF9 ครับ
ข้อที่ 6 ดึงข้อมูลจากคอลัม BQ ซึ่งตรงชื่อคนไปในคอลัมG9
ข้อที่ 7 ดึงข้อมูลจากคอลัม BR ซึ่งตรงชื่อคนไป ในคอลัมAP ครับ

Re: ขอความช่วยเหลือดึงข้อมูลที่มีเงื่อนไขซับซ้อนครับ

Posted: Fri Jun 29, 2018 11:04 pm
by phoopha13
ไฟล์ล่าสุดส่งให้ท่านอาจารย์ดูครับ มีรหัสที่อยู่ของหมู่บ้าน BJ21:BK30 ครับ

Re: ขอความช่วยเหลือดึงข้อมูลที่มีเงื่อนไขซับซ้อนครับ

Posted: Fri Jun 29, 2018 11:05 pm
by snasui
:D ตัวอย่างสูตรตามด้านล่างครับ
  1. ที่ AX8 คีย์คำว่า Count เพื่อเป็นหัวคอลัมน์
  2. ที่ AX9 คีย์
    =COUNTIFS($CA$8:$CT$8,"*วันที่",$CA9:$CT9,">=1/2/2018",$CA9:$CT9,"<=30/6/2018")
    Enter > Copy ลงด้านล่าง
  3. ที่ B9 คีย์
    =IFERROR(INDEX($BD$9:$BD$19&" "&$BE$9:$BE$19,SMALL(IF($AX$9:$AX$19<>0,ROW($AX$9:$AX$19)-ROW($AX$9)+1),ROWS(A$9:A9))),"")
    Ctrl+Shift+Enter > Copy ลงด้านล่าง
ปรับใช้กับคอลัมน์อื่น ๆ โดยเปลี่ยนเฉพาะช่วงที่ระบายสี ตามตัวอย่างนี้เป็นการนำ 2 คอลัมน์มาเชื่อมกัน หากต้องการแสดงคอลัมน์เดียวจะตัดเหลือเป็นเช่น $BD$9:$BD$19 เป็นต้น


!
Note: Ctrl+Shift+Enter
เป็นการสร้างสูตร Array โดยสามารถเลือกดำเนินการตามข้อ 1 หรือ 2 ด้านล่าง
  1. กรณีคีย์สูตรเอง เมื่อคีย์สูตรแล้ว แทนที่จะกด Enter ให้กดแป้น
    Ctrl และ Shift พร้อมกันค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array
  2. กรณี Copy สูตรไปวางให้กดแป้น F2 เพื่อทำการ Edit Cell นั้นก่อน
    จากนั้นกดแป้น Ctrl และ Shift พร้อมกันค้างไว้แล้วตามด้วย Enter เพื่อสร้างเป็นสูตร Array
  3. หากกดแป้นถูกต้องสูตรนั้นจะมีเครื่องหมายปีกกาครอบ เช่น {=YourFormulas(...)}
    ปีกกานี้ไม่สามารถคีย์เข้าไปเอง จะต้องมาด้วยการกดแป้น Ctrl+Shift+Enter เท่านั้น
    ถ้ายังไม่เห็นปีกกาครอบสูตรแสดงว่ากดแป้นให้รับสูตรไม่ถูกต้อง
  4. การแก้ไขเปลี่ยนแปลงสูตร Array จะต้องกดแป้นให้รับสูตรด้วย Ctrl+Shift+Enter ทุกครั้ง

Re: ขอความช่วยเหลือดึงข้อมูลที่มีเงื่อนไขซับซ้อนครับ

Posted: Sat Jun 30, 2018 6:39 am
by phoopha13
ได้แล้วในรายชื่อครับผม ขอบคุณท่านอาจารย์ที่กรุณามาตอบคำถามครับ หากมีติดขัดใดๆ ผมจะขอรบกวนท่านอาจารย์อีกครั้งครับ ขอบคุณครับ

Re: ขอความช่วยเหลือดึงข้อมูลที่มีเงื่อนไขซับซ้อนครับ

Posted: Sun Jul 01, 2018 8:21 am
by phoopha13
ขอถามท่านอาจารย์ครับ ผมใส่สูตรตามที่ท่านอาจารย์แนะนำแล้ว แต่คอลัม Cและ F เป็นตัวเลขเหมือนไฟล์ที่แนบมา ไม่ทราบว่าจะต้องจัดรูปแบบยังไงครับ ขอบคุณท่านอาจารย์ครับ

Re: ขอความช่วยเหลือดึงข้อมูลที่มีเงื่อนไขซับซ้อนครับ

Posted: Sun Jul 01, 2018 11:24 am
by phoopha13
ขอถามท่านอาจารย์เพิ่มเติมครับ ในsheetแบบรายงานเด็กแรกเกิดถึง2ปี ผมพยายามปรับใช้สูตรที่ท่านอาจารย์ให้มาแต่AG9 กลับเป็นค่า0 ทั้งๆที่บางคอลัมในAW9ลงไปบางแห่งมีเงื่อนไขว่าช่วงข้อมูลต้องอยู่1/2/2018-30/6/2018 ไม่ทราบว่าผมปรับสูตรผิดพลาดอย่างไรครับ
สูตรท่านอาจารย์ ในsheetแบบรายงานหญิงตั้งครรภ์=COUNTIFS($CA$8:$CT$8,"*วันที่",$CA9:$CT9,">=1/2/2018",$CA9:$CT9,"<=30/6/2018")
แต่ผมปรับ ในsheetแบบรายงานเด็กแรกเกิดถึง2ปี เป็นCOUNTIFS($AW$8:$BA$8,"*วันที่",$AW9:$BA9,">=1/2/2018",$AW9:$BA9,"<=30/6/2018") แต่ไม่ได้ค่าที่countครับ จึงไม่สามารถปรับใช้สูตรต่อไปของท่านอาจารย์ครับ

Re: ขอความช่วยเหลือดึงข้อมูลที่มีเงื่อนไขซับซ้อนครับ

Posted: Sun Jul 01, 2018 1:19 pm
by snasui
phoopha13 wrote: Sun Jul 01, 2018 8:21 am ขอถามท่านอาจารย์ครับ ผมใส่สูตรตามที่ท่านอาจารย์แนะนำแล้ว แต่คอลัม Cและ F เป็นตัวเลขเหมือนไฟล์ที่แนบมา ไม่ทราบว่าจะต้องจัดรูปแบบยังไงครับ ขอบคุณท่านอาจารย์ครับ
:D คลุมคอลัมน์ C, F เฉพาะช่วงที่มีข้อมูล > กดแป้น Ctrl+1 เพื่อเปิดกล่องโต้ตอบ Format cells > ที่แถบ Number เลือก Date > เลือกรูปแบบวันที่ตามต้องการ > OK

Re: ขอความช่วยเหลือดึงข้อมูลที่มีเงื่อนไขซับซ้อนครับ

Posted: Sun Jul 01, 2018 1:34 pm
by snasui
phoopha13 wrote: Sun Jul 01, 2018 11:24 am แต่ผมปรับ ในsheetแบบรายงานเด็กแรกเกิดถึง2ปี เป็นCOUNTIFS($AW$8:$BA$8,"*วันที่",$AW9:$BA9,">=1/2/2018",$AW9:$BA9,"<=30/6/2018") แต่ไม่ได้ค่าที่countครับ จึงไม่สามารถปรับใช้สูตรต่อไปของท่านอาจารย์ครับ
:D ใส่ดอกจันผิดตำแหน่งครับ

ใน Excel มีเครื่องหมายสำคัญอยู่ 2 เครื่องหมายหลักคือ
เครื่องหมาย * ใช้แทนอักขระไม่ว่าจะมีความยาวเท่าใดก็แทนได้ทั้งหมด
เครื่องหมาย ? ใช้แทนอักขระใดเพียงอักขระเดียว

ตัวอย่างการใช้ * และความหมายในฟังก์ชั่น Countifs ของกระทู้นี้
หากเขียนเป็น "*วันที่" หมายถึง สายอักขระใด ๆ ก็ตามแล้วตามด้วยคำว่า "วันที่"
หากเขียนเป็น "วันที่*" หมายถึง คำว่า "วันที่" แล้วตามด้วยสายอักขระใด ๆ
หากเขียนเป็น "*วันที่*" หมายถึง มีคำว่า "วันที่" ประกอบอยู่ด้วยไม่ว่าจะเป็นตำแหน่งใดก็ตาม

Re: ขอความช่วยเหลือดึงข้อมูลที่มีเงื่อนไขซับซ้อนครับ

Posted: Sun Jul 01, 2018 2:48 pm
by phoopha13
ขอบคุณท่านอาจารย์ครับที่กรุณามาให้ความรู้และตอบคำถาม ขอบคุณครับ

Re: ขอความช่วยเหลือดึงข้อมูลที่มีเงื่อนไขซับซ้อนครับ

Posted: Mon Jul 02, 2018 1:18 pm
by phoopha13
ขอรบกวนถามท่านอาจารย์ครับ ในsheetแบบรายงานหญิงตั้งครรภ์ครับ
1.อยากได้คอลัมC เป็นอายุครับ เช่นคนแรกอายุ 27 ปี ให้ลง 27 ใน C9 เงื่อนไขคือได้จากคอลัม F ลบ คอลัม C ครับ และได้ 27 มาไว้ใน C9ครับ ซึ่งท่านอาจารย์ใส่สูตรไปแล้ว ไม่แน่ใจว่าจะสามารถลบเลยได้หรือไม่ครับ คงต้องขอท่านอาจารย์ช่วยดูให้ด้วยครับ

2.อยากได้คอลัม F เป็นอายุครรภ์เป็นสัปดาห์ เช่นคนแรก อายุครรภ์อยู่ในเงื่อนไข1/2/2018--30/6/2018 และในF9;วันที่19/3/2018 เงื่อนไขคือได้จากคอลัม F ลบ คอลัม BP ครับ และได้ค่าเป็น 37 สัปดาห์ครับ พอดีท่านอาจารย์ใส่สูตรที่เป็นArray ไม่ทราบว่าจะหาค่าได้อยู่หรือเปล่าหรือต้องปรับสูตรทั้ง คอลัม B และคอลัม F ครับ

3.ในsheet แบบรายงานเด็กแรกเกิดถึง2ปี หาค่าอายุเป็นปี และเดือน ในคอลัมC และD โดยได้จากคอลัมAW ลบ คอลัม AP ให้ไปลงในคอลัมC ตามชื่อในคอลัม A เป็นอายุ ปี และคอลัม D เป็นเดือนครับ โดยใช้เงื่อนไขในคอลัมต้องอยู่ในช่วง1/2/2018-30/6/2018
ขอบคุณท่านอาจารย์ที่กรุณามาตอบและให้ความรู้ครับ ขอบคุณครับ

Re: ขอความช่วยเหลือดึงข้อมูลที่มีเงื่อนไขซับซ้อนครับ

Posted: Mon Jul 02, 2018 5:18 pm
by snasui
:D ตัวอย่างสูตรครับ

ชีต แบบรายงานหญิงตั้งครรภ์
  1. เซลล์ C9 คีย์
    =IFERROR(DATEDIF(INDEX($BG$9:$BG$19,SMALL(IF($AX$9:$AX$19<>0,ROW($AX$9:$AX$19)-ROW($AX$9)+1),A9)),INDEX($CQ$9:$CQ$19,SMALL(IF($AX$9:$AX$19<>0,ROW($AX$9:$AX$19)-ROW($AX$9)+1),A9)),"Y"),"")
    Ctrl+Shift+Enter > Copy ลงด้านล่าง
  2. เซลล์ F9 คีย์
    =IFERROR(INDEX($CQ$9:$CQ$19-$BP$9:$BP$19,SMALL(IF($AX$9:$AX$19<>0,ROW($AX$9:$AX$19)-ROW($AX$9)+1),A9)),"")/7
    Ctrl+Shift+Enter > Copy ลงด้านล่าง
ชีต แบบรายงานเด็กแรกเกิดถึง 2 ปี
  1. =IFERROR(DATEDIF(INDEX($AP$9:$AP$37,SMALL(IF($AG$9:$AG$37<>0,ROW($AG$9:$AG$37)-ROW($AG$9)+1),$A9)),INDEX($AW$9:$AW$37,SMALL(IF($AG$9:$AG$37<>0,ROW($AG$9:$AG$37)-ROW($AG$9)+1),$A9)),"Y"),"")
    Ctrl+Shift+Enter > Copy ลงด้านล่าง
  2. =IFERROR(DATEDIF(INDEX($AP$9:$AP$37,SMALL(IF($AG$9:$AG$37<>0,ROW($AG$9:$AG$37)-ROW($AG$9)+1),$A9)),INDEX($AW$9:$AW$37,SMALL(IF($AG$9:$AG$37<>0,ROW($AG$9:$AG$37)-ROW($AG$9)+1),$A9)),"YM"),"")
    Ctrl+Shift+Enter > Copy ลงด้านล่าง

Re: ขอความช่วยเหลือดึงข้อมูลที่มีเงื่อนไขซับซ้อนครับ

Posted: Mon Jul 02, 2018 9:43 pm
by phoopha13
:thup: ขอถามท่านอาจารย์ครับ ค่า #value ต้องใช้สูตรอะไรแก้ไขครับ พอดีผมใส่INT เข้าไปในสูตรท่านอาจารย์เพื่อให้เป็นตัวเต็มไม่มีจุดทศนิยม ในsheet แบบรายงานหญิงตั้งครรภ์ ขอบคุณท่านอาจารย์มากครับ ที่ช่วยกรุณาตอบคำถามทุกครั้ง ขอบคุณครับ

Re: ขอความช่วยเหลือดึงข้อมูลที่มีเงื่อนไขซับซ้อนครับ

Posted: Mon Jul 02, 2018 10:25 pm
by koko_excel_tip
phoopha13 wrote: Mon Jul 02, 2018 9:43 pm :thup: ขอถามท่านอาจารย์ครับ ค่า #value ต้องใช้สูตรอะไรแก้ไขครับ พอดีผมใส่INT เข้าไปในสูตรท่านอาจารย์เพื่อให้เป็นตัวเต็มไม่มีจุดทศนิยม ในsheet แบบรายงานหญิงตั้งครรภ์ ขอบคุณท่านอาจารย์มากครับ ที่ช่วยกรุณาตอบคำถามทุกครั้ง ขอบคุณครับ
แก้ไขสูตรสลับตำแหน่งหน่อยนึงครับ
ที่ช่อง F9 =IFERROR(INT(INDEX($CQ$9:$CQ$19-$BP$9:$BP$19,SMALL(IF($AX$9:$AX$19<>0,ROW($AX$9:$AX$19)-ROW($AX$9)+1),A9))/7),"")

กด [Ctrl]+[Shift]+[Enter]

ตามไฟล์แนบครับ :D :D :D

Re: ขอความช่วยเหลือดึงข้อมูลที่มีเงื่อนไขซับซ้อนครับ

Posted: Tue Jul 03, 2018 8:53 am
by phoopha13
ขอบคุณทั้งท่านอาจารย์snasui และท่านอาจารย์koko_excel_tip ครับ ขอบคุณมากๆครับ