Page 1 of 1

อยากดึงข้อมูลสิทธิในการใช้ใบรับเงิน

Posted: Sat Jan 22, 2011 10:44 pm
by khainui
คือ มีเงื่อนไข การเบิกใบรับเงินของ ตัวแทนที่แต่ละตำแหน่งสิทธิในการเบิกไม่เท่ากัน
ผมมีข้อมูลในตารางด้านซ้ายมือ เป็น เลขที่ใบรับเงินเรียงลำดับกันลงมา แล้วแต่ละเลขที่
ตัวแทนรายใดเบิกไปบ้าง และมีวันที่เบิก และวันที่คืน ที่นี้อยากให้ดึงข้อมูลมาทางขวาแสดงข้อมูลว่า ตัวแทนรายใดที่เบิกเกินสิทธิ์ ตั้งสูตรไม่ถูกครับอาจารย์

Re: อยากดึงข้อมูลสิทธิในการใช้ใบรับเงิน

Posted: Sat Jan 22, 2011 11:50 pm
by snasui
:D ลองตามไฟล์แนบครับ

๑. F18:F25 ระบุจำนวนเล่มตามสิทธิ์ของแต่ละระดับ

๒. ที่ E2 คีย์สูตรเพื่อหาว่าแต่ละรหัสตัวแทนมีการเบิกไปกี่เล่ม

=COUNTIF($B$2:$B$14,B2)

Enter > Copy ลงด้านล่าง

๓. ที่ F2 คีย์สูตรเพื่อหาว่าแต่ละตำแหน่งเบิกได้ตามสิทธิ์กี่เล่ม

=VLOOKUP(D2,$E$18:$F$25,2,0)

Enter > Copy ลงด้านล่าง

๔. ที่ G2 ใช้สูตรเพื่อเปรียบเทียบว่าเกินสิทธิ์หรือไม่ หากเกินจะแสดงค่า True หากไม่เกินจะแสดงค่า False

=E2>F2

Enter > Copy ลงด้านล่าง

๕. กรองข้อมูลตามคอลัมน์ G แล้วเลือกเฉพาะค่าที่เป็น True ซึ่งจะเป็นรายการที่เบิกเกินสิทธิ์

กรณีต้องการใช้สูตรเพื่อดึงไปแสดงในตำแหน่งอื่นสามารถใช้สูตรตามนี้ครับ http://www.snasui.com/viewtopic.php?p=4124#p4124

แต่หากจะใช้สูตรให้เรียงตามลำดับด้วยจะยุ่งยากขึ้นไปอีกขั้นโดยดึงข้อมูลขึ้นมาให้ได้ก่อนแล้วค่อยใช้สูตรเรียงลำดับทีหลัง ในเบื้องต้นลองทำตามด้านบนศึกษาสูตรตามที่ตอบไปด้านบนให้เข้าใจก่อนครับ :mrgreen:

Re: อยากดึงข้อมูลสิทธิในการใช้ใบรับเงิน

Posted: Sun Jan 23, 2011 9:18 am
by khainui
พอเข้าใจหลักการแล้วครับ แต่นิดนึงครับ พอดี File เมื่อวานที่แนบขาดข้อมูลไป 1 อย่าง คือวันที่เบิก วันที่คืนใบรับเงิน
อยากให้อิงคอลัมภ์นี้ด้วย เพราะถ้ามีการคืนเล่มแล้ว ตัวแทนนั้นก็ยังมีสิทธิเบิกเล่มได้อยู่ เช่น
ตัวแทนรหัส 159815 ผจกหน่วย 2 ที่ยังเหลือสิทธิในการเบิกอีก 1 เล่ม (ไม่เกินสิทธิ์) เพราะคืนมาแล้ว 2 เล่ม ครับ

Re: อยากดึงข้อมูลสิทธิในการใช้ใบรับเงิน

Posted: Sun Jan 23, 2011 10:05 am
by snasui
:D เพิ่มคอลัมน์ช่วยขึ้นมาเพื่อดูว่ามีการคืนแล้วหรือไม่ ลองตามนี้ครับ

๑. G2 คีย์สูตรเพื่อหาว่ามีการคืนแล้วหรือไม่ถ้าคืนแล้วก็จะไม่แสดงรหัส

=If(F2<>"","",B2)

๒. H2 คีย์สูตรเพื่อนับจำนวนที่ค้างทั้งหมด

=If(G2<>"",Countif($G$2:$G$14,G2),"")

๓. I2 คีย์สูตรเพื่อหาจำนวนตามสิทธิ์

=If(G2<>"",Vlookup(D2,$G$18:$H$25,2,0),"")

๔. J2 คีย์สูตรหาผู้ที่คงค้าง

=H2>I2

ดูไฟล์แนบประกอบครับ

Re: อยากดึงข้อมูลสิทธิในการใช้ใบรับเงิน

Posted: Tue Jan 25, 2011 8:57 am
by khainui
ขอบคุณอาจารย์มากๆ ครับ ใช้ได้ดีทีเดียว และสามารถนำไปประยุกต์ใช้กับอย่างอื่นได้อีกมากเลยครับ

ตอนนี้กำลังศึกษา VBA เพื่อออกแบบระบบทะเบียนอยู่ เดี๋ยวผมติดตรงไหนจะมารบกวนอีกครับ :D

Re: อยากดึงข้อมูลสิทธิในการใช้ใบรับเงิน

Posted: Mon Feb 07, 2011 4:36 pm
by khainui
อาจารย์ครับมีปัญหาสูตรมันเพี๊ยนครับ หาที่ Error ไม่เจอ คือตอน Vlookup ดึงข้อมูลมาจาก Sheet ตำแหน่ง (ใส่ name & range ว่า amount) โดยดูค่าจาก D2 แต่ VLOOKUP มาเป็นอีกค่านึง งงเลยครับ :?:

คำอธิบายอยู่ในไฟล์ครับ ตอนทำไฟล์แรกยังทำได้เลย

Re: อยากดึงข้อมูลสิทธิในการใช้ใบรับเงิน

Posted: Mon Feb 07, 2011 5:36 pm
by kmb
ลองไปที่เซลล์ D2 ครับ แล้วกด F2 จะเห็นว่ามีช่องว่างต่อท้าย >> "พนักงานบริษัท " ถ้าไม่ให้ error ก็ลบช่องว่างต่อท้ายออกน่ะครับ จะได้เป็น "พนักงานบริษัท" :mrgreen:

Re: อยากดึงข้อมูลสิทธิในการใช้ใบรับเงิน

Posted: Tue Feb 08, 2011 8:44 am
by khainui
kmb wrote:ลองไปที่เซลล์ D2 ครับ แล้วกด F2 จะเห็นว่ามีช่องว่างต่อท้าย >> "พนักงานบริษัท " ถ้าไม่ให้ error ก็ลบช่องว่างต่อท้ายออกน่ะครับ จะได้เป็น "พนักงานบริษัท" :mrgreen:
โอขอบคุณมากครับ เส้นผมบังภูเขาจริงๆ ผมก็ดูทุกตัวอักษรแล้วน๊ะว่าชื่อตำแหน่งตรงกันหมดหรือเปล่า ปรากฎว่ามีช่องว่างนี่เอง ขอบคุณอีกครับครับ :D