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

ดึงข้อมูลแบบตามเดือนที่เลือก

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

ดึงข้อมูลแบบตามเดือนที่เลือก

#1

Post by March201711 »

ดึงข้อมูลอย่างไรให้ได้ หน้า sheet result นี้ โดยsum ข้อมูลที่เริ่มเดือนที่เลือก ที่ cell H1 list dropdown

เช่น เดือน Mar-19 ต้องเริ่มรวมข้อมูลที่ cell F69-F74 ที่ sheet data ของ ชื่อแต่ละคน ยอด amt และ ยอด fee ค่ะ
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: ดึงข้อมูลแบบตามเดือนที่เลือก

#2

Post by Bo_ry »

E103 ลากขวาลากลง
=IF($D103="","",SUMIFS(data!K:K,data!$D:$D,$D103,data!$F:$F,">="&$H$1,data!$F:$F,"<"&EDATE($H$1,1)))

หรือถ้าเช็คชื่อด้วย
=IF($D103="","",SUMIFS(data!K:K,data!$D:$D,$D103,data!$F:$F,">="&$H$1,data!$F:$F,"<"&EDATE($H$1,1),data!$E:$E,"*"&$C103&"*"))
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลแบบตามเดือนที่เลือก

#3

Post by March201711 »

ถ้าเป็นตารางที่ว่างเปล่า แล้วให้แสดงผลลัพธ์แต่ละ column คือ No Name Dept ต้องปรับสูตรอย่างไรคะ
You do not have the required permissions to view the files attached to this post.
User avatar
puriwutpokin
Guru
Guru
Posts: 3801
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: ดึงข้อมูลแบบตามเดือนที่เลือก

#4

Post by puriwutpokin »

ลองดูที่
B102=INDEX(data!$B$58:$E$74,AGGREGATE(15,6,(ROW(data!$B$58:$E$74)-ROW(data!$B$58)+1)/(MONTH(data!$F$58:$F$74)=MONTH($H$1)),ROWS(B$102:B102)),MATCH(B$101,data!$B$55:$E$55,0)) คัดลอกลงครับ
:shock: :roll: :D
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลแบบตามเดือนที่เลือก

#5

Post by March201711 »

ไม่เห็นได้เหมือนคำตอบเลยค่ะ กลับเพิ่มรายการขึ้นอีกค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
puriwutpokin
Guru
Guru
Posts: 3801
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: ดึงข้อมูลแบบตามเดือนที่เลือก

#6

Post by puriwutpokin »

ปรับเป็นที่ B102=IFERROR(INDEX(LEFT(data!$E$58:$E$77,4),SMALL(IF(FREQUENCY(IF(MONTH(data!$F$58:$F$77)=MONTH($H$1),MATCH(data!$E$58:$E$77,data!$E$58:$E$77,0)),ROW(data!$E$58:$E$77)-ROW(data!$E$58)+1),ROW(data!$E$58:$E$77)-ROW(data!$E$58)+1),ROWS(B$102:B102))),"") กด Ctrl+Shift+Enter

C102=IFERROR(INDEX(MID(data!$E$58:$E$77,6,9),SMALL(IF(FREQUENCY(IF(MONTH(data!$F$58:$F$77)=MONTH($H$1),MATCH(data!$E$58:$E$77,data!$E$58:$E$77,0)),ROW(data!$E$58:$E$77)-ROW(data!$E$58)+1),ROW(data!$E$58:$E$77)-ROW(data!$E$58)+1),ROWS(C$102:C102))),"") กด Ctrl+Shift+Enter

E102=IFERROR(INDEX(data!$D$58:$D$77,SMALL(IF(FREQUENCY(IF(MONTH(data!$F$58:$F$77)=MONTH($H$1),MATCH(data!$E$58:$E$77,data!$E$58:$E$77,0)),ROW(data!$E$58:$E$77)-ROW(data!$E$58)+1),ROW(data!$E$58:$E$77)-ROW(data!$E$58)+1),ROWS(D$102:D102))),"") กด Ctrl+Shift+Enter
:shock: :roll: :D
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลแบบตามเดือนที่เลือก

#7

Post by March201711 »

ทำไมเลือกเดือน Jan-19 แล้วข้อมูลไม่ดึงมาคะ
You do not have the required permissions to view the files attached to this post.
User avatar
puriwutpokin
Guru
Guru
Posts: 3801
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: ดึงข้อมูลแบบตามเดือนที่เลือก

#8

Post by puriwutpokin »

ปรับเป็นที่ :D B102=IFERROR(INDEX(LEFT(data!$E$58:$E$77,4),SMALL(IF(FREQUENCY(IF(MONTH(data!$F$58:$F$77)=MONTH($H$1),MATCH(data!$E$58:$E$77&"",data!$E$58:$E$77&"",0)),ROW(data!$E$58:$E$77)-ROW(data!$E$58)+1),ROW(data!$E$58:$E$77)-ROW(data!$E$58)+1),ROWS(B$102:B102))),"") กด Ctrl+Shift+Enter

C102=IFERROR(INDEX(MID(data!$E$58:$E$77,6,9),SMALL(IF(FREQUENCY(IF(MONTH(data!$F$58:$F$77)=MONTH($H$1),MATCH(data!$E$58:$E$77&"",data!$E$58:$E$77&"",0)),ROW(data!$E$58:$E$77)-ROW(data!$E$58)+1),ROW(data!$E$58:$E$77)-ROW(data!$E$58)+1),ROWS(C$102:C102))),"") กด Ctrl+Shift+Enter

E102=IFERROR(INDEX(data!$D$58:$D$77&"",SMALL(IF(FREQUENCY(IF(MONTH(data!$F$58:$F$77)=MONTH($H$1),MATCH(data!$E$58:$E$77&"",data!$E$58:$E$77&"",0)),ROW(data!$E$58:$E$77)-ROW(data!$E$58)+1),ROW(data!$E$58:$E$77)-ROW(data!$E$58)+1),ROWS(D$102:D102))),"") กด Ctrl+Shift+Enter
:shock: :roll: :D
User avatar
Bo_ry
Gold
Gold
Posts: 1245
Joined: Sun Aug 12, 2018 12:11 am
Excel Ver: MS 365
Contact:

Re: ดึงข้อมูลแบบตามเดือนที่เลือก

#9

Post by Bo_ry »

B102
=IFERROR(AGGREGATE(15,6,(LEFT(data!$E$58:$E$77,FIND("-",data!$E$58:$E$77)-1))/(TEXT(data!$F$58:$F$77,"myy")=TEXT($H$1,"myy"))/(--LEFT(data!$E$58:$E$77,FIND("-",data!$E$58:$E$77)-1)>MAX(B$101:B101)),1),"")

C102
=IF(B102="","",TRIM(MID(SUBSTITUTE(SUBSTITUTE(VLOOKUP($B102&"-*",data!$E$58:$E$77,1,),"-"," ")," ",REPT(" ",40)),40,80)))

D102
=IF(B102="","",INDEX(data!$D$58:$D$77,MATCH($B102&"-*",data!$E$58:$E$77,)))
You do not have the required permissions to view the files attached to this post.
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลแบบตามเดือนที่เลือก

#10

Post by March201711 »

ใช้ได้แล้วค่ะ แต่งงทั้ง 2 ท่านที่เขียนสูตรให้ค่ะ ช่วยอธิบายให้เข้าใจได้ไหมคะ เป็นความรู้สำหรับคนไม่เก่งค่ะ
User avatar
puriwutpokin
Guru
Guru
Posts: 3801
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: ดึงข้อมูลแบบตามเดือนที่เลือก

#11

Post by puriwutpokin »

March201711 wrote: Sat Mar 23, 2019 11:26 am ใช้ได้แล้วค่ะ แต่งงทั้ง 2 ท่านที่เขียนสูตรให้ค่ะ ช่วยอธิบายให้เข้าใจได้ไหมคะ เป็นความรู้สำหรับคนไม่เก่งค่ะ
ลองเช็ค​สูตรดูก่อนนะครับ ถ้าคัต คอลัมน์​แรกมาเป็นตัวหาคอลัมน์ต่อไป แล้วติดอะไรไหมครับเช่น ถ้า
2223-EEEE YYYY F789 เดือนนั้นมีส่วนที่ไม่ใช่ 4 ตัวแรก ไม่เหมือนกันเป็น 2223-EEEE XXXX FXxx
ข้อมูล​จะถูกหรือไม่
:shock: :roll: :D
User avatar
Bo_ry
Gold
Gold
Posts: 1245
Joined: Sun Aug 12, 2018 12:11 am
Excel Ver: MS 365
Contact:

Re: ดึงข้อมูลแบบตามเดือนที่เลือก

#12

Post by Bo_ry »

ฺB102
=IFERROR(AGGREGATE(15,6,(LEFT(data!$E$58:$E$77,FIND("-",data!$E$58:$E$77)-1))/(TEXT(data!$F$58:$F$77,"myy")=TEXT($H$1,"myy"))/(--LEFT(data!$E$58:$E$77,FIND("-",data!$E$58:$E$77)-1)>MAX(B$101:B101)),1),"")

a. LEFT(data!$E$58:$E$77,FIND("-",data!$E$58:$E$77)-1) ดึงตัวอักษรหน้า "-" มาหารกับ
b.(TEXT(data!$F$58:$F$77,"myy")=TEXT($H$1,"myy")) ที่เช็คว่าเดือนและปีตรงกัน
สูตรจะใช้ได้ถ้าตัวอักษรหน้า "-" เป็นตัวเลข เมื่อหารเดือนและปีตรงกันจะได้ค่าเดิม ถ้าไม่ตรงจะได้ #Div/0 เป็นการกรองค่าที่ไม่ตรงออก
และหารด้วย
c. (--LEFT(data!$E$58:$E$77,FIND("-",data!$E$58:$E$77)-1)>MAX(B$101:B101)) เพื่อเช็คว่าค่าที่ได้ต้องมากกว่าค่าด้านบนของเซลตัวเอง เป็นการตัดค่าซ้ำ

AGGREGATE(15,6, a/b/c ,1) จะได้เลขน้อยสุดของเดือนปีนั้นๆ เมื่อลากลงจะได้ค่าน้อยสุดที่มากกว่าค่าด้านบน

C102
=IF(B102="","",TRIM(MID(SUBSTITUTE(SUBSTITUTE(VLOOKUP($B102&"-*",data!$E$58:$E$77,1,),"-"," ")," ",REPT(" ",40)),40,80)))

d. VLOOKUP($B102&"-*",data!$E$58:$E$77,1,) จากหาชื่อเต็มจาก B102&"-*" เติม "-*" เพื่อหาตัวหลังNoที่เป็นชื่ออะไรก็ได้
ดังนั้น ชื่อเดียวกันต้องเป็น No เดียวกัน

e. TRIM(MID(SUBSTITUTE(SUBSTITUTE(d),"-"," ")," ",REPT(" ",40)),40,80))
ตัดเอาคำที่ 2,3 จาก "No-Name LName code" จะได้ "Name LName"
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลแบบตามเดือนที่เลือก

#13

Post by March201711 »

ค่ะ :D ขอบคุณ คุณ Bo_ry มากเลยค่ะ และคุณ puriwutpokin ด้วยค่ะ
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลแบบตามเดือนที่เลือก

#14

Post by March201711 »

สอบถามเพิ่มเติมอีกนิดค่ะ
ดึงยอดของเดือนถัดไปโดยดูยอด ณ สิ้นเดือนที่เลือก drop down แล้วไปดึงที่ column I

เช่น เลือก เดือน Mar-19 ที่ drop down cell T54 ให้ข้อมูลที่ดึงที่ column B โดยดูว่า เดือนที่เลือกสิ้นสุดเดือนไหน ให้เลือกยอดของเดือนถัดไป โดยดูที่ Column I สิ้นเดือน 31-Mar-19 ข้อมูลที่ดึงมาเป็น No.68-62/0083 และ 72-62/0091 ส่วน 71-62/0090 จะไม่ดึงมาเพราะยังคงเป็นเดือน Mar-19 ตามที่ Hight สีส้ม
You do not have the required permissions to view the files attached to this post.
User avatar
puriwutpokin
Guru
Guru
Posts: 3801
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: ดึงข้อมูลแบบตามเดือนที่เลือก

#15

Post by puriwutpokin »

ที่ B81=IFERROR(INDEX($B$58:$K$77,SMALL(IF(MONTH($I$58:$I$77)=MONTH($T$54),ROW($B$58:$B$77)-ROW($B$58)+1),ROWS(B$81:B81)),CHOOSE(COLUMNS($B81:B81),1,5,10)),"") กด Ctrl+Shift+Enter คัดลอกไปทางขวาและลงล่างครับ

หรือไม่เอา Array
ที่ B81=IFERROR(INDEX($B$58:$K$77,AGGREGATE(15,6,(ROW($B$58:$B$77)-ROW($B$57))/(MONTH($I$58:$I$77)=MONTH($T$54)),ROWS(C$81:C81)),CHOOSE(COLUMNS($B81:B81),1,5,10)),"") คัดลอกไปทางขวาและลงล่างครับ :D
:shock: :roll: :D
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลแบบตามเดือนที่เลือก

#16

Post by March201711 »

ไม่ได้ยอดตามคำตอบที่ถูกต้อง ต้องดึงยอดที่เป็นต้นเดือน Apr-19 ที่ Column I ค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
puriwutpokin
Guru
Guru
Posts: 3801
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: ดึงข้อมูลแบบตามเดือนที่เลือก

#17

Post by puriwutpokin »

ลองเปลี่ยน​เดือนดูยังครับ
:shock: :roll: :D
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลแบบตามเดือนที่เลือก

#18

Post by March201711 »

ก้อเปลี่ยนเดือน mar-19แล้ว ยังไม่ได้ตามข้อมูลตามที่ต้องการเลยค่ะ
User avatar
puriwutpokin
Guru
Guru
Posts: 3801
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: ดึงข้อมูลแบบตามเดือนที่เลือก

#19

Post by puriwutpokin »

March201711 wrote: Mon Mar 25, 2019 7:37 pm ก้อเปลี่ยนเดือน mar-19แล้ว ยังไม่ได้ตามข้อมูลตามที่ต้องการเลยค่ะ
ดูตามไฟล์แนบครับ เลือกเดือน apr-19 ตามเงื่อนไข ถ้า mar-19 ก็เป็นอีกเงื่อนไขนะครับ
You do not have the required permissions to view the files attached to this post.
:shock: :roll: :D
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลแบบตามเดือนที่เลือก

#20

Post by March201711 »

แสดงว่าต้องเลือก drop down เดือน Apr-19 ข้อมูลถึงวิ่งมาใช่ไหมคะ
ถ้าเลือกเดือน Mar-19 จะเป็นอีกข้อมูลนึง
Post Reply