snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
prasert
Member
Posts: 18 Joined: Tue Feb 14, 2017 1:11 pm
#1
Post
by prasert » Tue Aug 22, 2017 9:35 am
ผมขอรบกวนสอบนะครับ
ผมมีข้อมูลอยู่ 2 ไฟล์ใช้ในการเรียกเก็บเงิน
ไฟล์ที่ 1 เป็นข้อมูลดิบทั้งหมด ที่รวมกันระหว่างยังไม่เรียกเก็บ และเรียกฌฏ็บแล้ว (ประมาณ 4000 เรคคอร์ด)
ไฟล์ที่ 2 เป็นเรียกเก็บแล้ว
ผมต้องการทราบว่า ในไฟล์ที่ 1 ใครเรียกเก็บไปแล้ว บ้างเพื่อจะรู้ว่าใครยังไม่เรียกเก็บ
ผมจะใช้สูตรใดได้บ้าง รบกวนชี้แนะด้วย
logic
Gold
Posts: 1506 Joined: Thu Mar 18, 2010 1:57 pm
Excel Ver: 365
#2
Post
by logic » Tue Aug 22, 2017 9:48 am
แนบตัวอย่างดีกว่าครับ ถ้าจะดูการ match คิดว่า link นี้ช่วยได้ครับ
wordpress/match/
prasert
Member
Posts: 18 Joined: Tue Feb 14, 2017 1:11 pm
#3
Post
by prasert » Wed Aug 23, 2017 1:09 pm
สอบถามสูตรนะครับ เดือดร้อนจริงๆ ครับ
1. sheet ที่ชื่อ ยอดทั้งหมด เป็นข้อมูลดิบทั้งหมด ที่รวมกันระหว่างข้อมูลยังไม่ได้เรียกเก็บ และเรียกเก็บแล้ว
2. sheet ที่ชื่อยอดชำระ เป็นข้อมูลที่ได้เรียกเก็บแล้ว
จุดประสงค์ คือต้องการดูข้อมูลว่า ใครที่ได้เก็บเงินไปแล้วบ้างนะครับ
และ คัดลอกข้อมูลคนที่ยังไม่ได้เก็บเงิน ไปไว้อีก sheet อื่นครับ
prasert
Member
Posts: 18 Joined: Tue Feb 14, 2017 1:11 pm
#4
Post
by prasert » Wed Aug 23, 2017 1:11 pm
ตัวอย่างครับ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 30744 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#5
Post
by snasui » Wed Aug 23, 2017 7:07 pm
ตัวอย่างสูตรครับ
ที่ชีต ยอดทั้งหมด
เซลล์ O1 คีย์ Paid เพื่อเป็นหัวคอลัมน์
เซลล์ O2 คีย์สูตร
=COUNTIF(ยอดชำระ!$B$2:$B$26,E2)
Enter > Copy ลงด้านล่าง
กรองค่าในคอลัมน O เฉพาะที่เป็น 0 ไปใช้งาน
หากยังไม่ตรงกับที่ต้องการกรุณาอธิบายรายละเอียดมาใหม่พร้อมแนบตัวอย่างคำตอบที่ต้องการมาด้วยจะได้เข้าใจตรงกันครับ
prasert
Member
Posts: 18 Joined: Tue Feb 14, 2017 1:11 pm
#6
Post
by prasert » Thu Aug 24, 2017 10:11 am
ขอขอบคุณครับ
แต่ไม่ตรงกับความต้องการเท่าไรครับ
จากตัวอย่าง ใน Sheet (ยอดทั้งหมด) ใน Row ที่11,12,13 แสดงให้เห็นว่า นาย ก. มียอดค้างชำระ 3 ยอด คือ 150,272,100
แต่ในSheet ยอดชำระ ในROW ที่ 4,7,นาย ก. ชำระมาแล้วเพียง 2 ยอดคือ 272,100
ความต้องการ คือ ในคอลัมน์ O ให้แสดงข้อมูลว่านาย ก. ชำระมากี่ยอดแล้ว
ในคอลัมน์ P Sheet (ยอดทั้งหมด) ให้นำข้อมูล วันที่ชำระ ยอดที่ 1 มาแสดง คือ ข้อมูล ในSheet ยอดชำระ คอลัมน์ D
ในคอลัมน์ Q Sheet (ยอดทั้งหมด) ให้นำข้อมูล วันที่ชำระ ยอดที่ 2 มาแสดง คือ ข้อมูล ในSheet ยอดชำระ คอลัมน์ D
ในคอลัมน์ R Sheet (ยอดทั้งหมด) ให้นำข้อมูล ค่ารักษาที่เบิก ยอดที่ 1 มาแสดง คือ ข้อมูล ในSheet ยอดชำระ คอลัมน์ F
ในคอลัมน์ S Sheet (ยอดทั้งหมด) ให้นำข้อมูล ค่ารักษาที่เบิก ยอดที่ 2 มาแสดง คือ ข้อมูล ในSheet ยอดชำระ คอลัมน์ F
แล้วจะนำข้อมูล ที่ยังไม่ชำระไปเรียกเก็บครับ
รบกวนด้วยนะครับ ผมไม่รู้ทำอย่างไรจริงๆ เป็นเงินค่ารักษา ของ รพ.
prasert
Member
Posts: 18 Joined: Tue Feb 14, 2017 1:11 pm
#7
Post
by prasert » Thu Aug 24, 2017 10:14 am
ไฟล์ตัวฉบับแก้ไข รบกวนช่วยด้วยครับ จะได้มีหลักฐานเอาไปเรียกกลับ สปสช.
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 30744 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#8
Post
by snasui » Fri Aug 25, 2017 7:17 am
ตัวอย่างสูตรครับ
เซลล์ O1 คีย์ วันรับชำระ
เซลล์ O2 คีย์
=IFERROR(INDEX(ยอดชำระ!$D$2:$D$26 ,MATCH(1,IF(ยอดชำระ!$B$2:$B$26=$E2,IF(LEFT(ยอดชำระ!$F$2:$F$26,LEN(ยอดชำระ!$F$2:$F$26)-2)+0=$M2,1)),0)),"")
Ctrl+Shift+Enter > Copy ลงด้านล่าง
ต้องการนำค่าใดมาแสดงให้เปลี่ยนตำแหน่งที่ผมระบายสีเอาไว้ในสูตร การนำข้อมูลมาแสดงลักษณะนั้นควรเรียงต่อลงไปด้านล่างกำกับเป็นรายการไปจะได้กรองข้อมูลมาใช้งานไดสะดวกครับ
prasert
Member
Posts: 18 Joined: Tue Feb 14, 2017 1:11 pm
#9
Post
by prasert » Fri Aug 25, 2017 11:07 am
ขอขอบคุณมากๆ ครับ สำหรับน้ำใจของอาจารย์
prasert
Member
Posts: 18 Joined: Tue Feb 14, 2017 1:11 pm
#10
Post
by prasert » Thu Aug 31, 2017 3:06 pm
ขอรบกวนอีกรอบครับ (ด่วนจริงๆครับ) ลองทำแล้วงงมากครับ
ผมต้องการเทียบข้อมูล ระหว่าง Sheet "ยอดทั้งหมด" คอลัมน์ E กับ Sheet "สเตสเม้น" คอลัมน์ C
ระหว่าง Sheet "ยอดทั้งหมด" คอลัมน์ G กับ Sheet "สเตสเม้น" คอลัมน์ E
ระหว่าง Sheet "ยอดทั้งหมด" คอลัมน์ O กับ Sheet "สเตสเม้น" คอลัมน์ H
*ถ้าทั้ง3 คอลัมน์เหมือนกัน แล้วให้ นำค่า ในSheet "สเตสเม้น" คอลัมน์ D มาแสดงใน Sheet "ยอดทั้งหมด" คอลัมน์ V จะได้รู้ว่าใครยังไม่จ่าย
ผมลองทำแล้ว มั่วไปหมดเลย งงครับ ที่ผมทำเน้นไว้คือ มีการจ่ายเงินมาแล้ว กับไม่บอกว่า"No Macth" งงมาก เลยครับ
จุดประสงค์คือ ต้องการรู้ว่า มีใครจ่ายแล้ว วันที่เท่าไร ยอดเงินเท่าไร แล้วที่
ไม่พบซ้ำคือยังไม่จ่าย จะได้กรองเอาไปเรียกเก็บครับ โดยใช้หลักฐานต่างๆ เป็นเงิน ร.พ รัฐ ครับ ข้อมูลต้องเน้นพอสมควรครับ ประมาณนี้ครับ
** วันที่ ในSheet "สเตสเม้น" ถ้าตรงกัน แต่ยอดเงินจะคนล่ะยอดครับ
*** 1 คนยอดค้างหลายยอดจ่าย คนล่ะวันที่ครับ
รบกวนคิดช่วยด้วยครับ
Last edited by
prasert on Thu Aug 31, 2017 3:44 pm, edited 1 time in total.
prasert
Member
Posts: 18 Joined: Tue Feb 14, 2017 1:11 pm
#11
Post
by prasert » Thu Aug 31, 2017 3:17 pm
เพิ่มเติมครับ
**** ถ้ายอดเงินเหมือนกัน แต่จ่ายคนล่ะวันที่ครับ
เลยจำเป็นต้องเทียบทั้ง 3 คอลัมน์ ว่าเหมือนกันหรือไม่ครับ
ตัวอย่างครับ
You do not have the required permissions to view the files attached to this post.
puriwutpokin
Guru
Posts: 3700 Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365
#12
Post
by puriwutpokin » Thu Aug 31, 2017 9:13 pm
ที่ Sheet "ยอดทั้งหมด" ที่ V2=IFERROR(INDEX(สเตสเม้น!$D$3:$D$2949,MATCH(1,IF(สเตสเม้น!$C$3:$C$2949=$E2,IF(สเตสเม้น!$H$3:$H$2949=$O2,IF(สเตสเม้น!$H$3:$H$2949=$O2,1))),0)),"No MATCH") Ctrl+Shift+Enter > Copy ลงด้านล่าง