: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

ให้ดึงข้อมูลมาแสดงเป็นยอดเดียว

ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
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 »

โดยดูวันที่และดูว่ามีชื่อซ้ำกันไหมถ้าซ้ำให้ net เป็นขาเดียวแล้วนำข้อมูลมาแสดงเป็นยอดของวัน
Ex: วันที่ 28 /11/17 ไม่มีชื่อซ้ำให้แสดงมาเป็นขานั้นเลย
พอวันที่ 29/11/17 มีชื่อซ้ำ 3 คนคือ Mr.AAA, Mr.CCC, Mr.HHH
Mr.AAA มีด้าน AR และ AP ขา AR > AP Net เป็น AR
Mr.CCC มีด้าน AP และ AR ขา AP > AR Net เป็น AP
Mr.HHH มีด้าน AR และ AP ขา AR > AP Net เป็น AR
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 »

Data U5:U28
=IF(C5=C6,0,SUMIFS(N$5:N5,E$5:E5,E5,C$5:C5,C5))
Data C15 => Mr.LLL

Sum E5
=SUMIFS(data!$U$5:$U$28,data!$E$5:$E$28,$B5,data!$U$5:$U$28,">0")
Sum F5
=-SUMIFS(data!$U$5:$U$28,data!$E$5:$E$28,$B5,data!$U$5:$U$28,"<0")
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: ให้ดึงข้อมูลมาแสดงเป็นยอดเดียว

#3

Post by March201711 »

ทำได้ค่ะ แต่ข้อมูลใน sheet data เป็นข้อมูลดิบมีหลายพันบรรทัดและอาจมีข้อมูลอื่นๆแทรกมาได้ ถ้าไม่ใส่สูตรที่ชีทdata เลย จะต้องปรับสูตรอย่างไรได้บ้างคะ
User avatar
Bo_ry
Gold
Gold
Posts: 1245
Joined: Sun Aug 12, 2018 12:11 am
Excel Ver: MS 365
Contact:

Re: ให้ดึงข้อมูลมาแสดงเป็นยอดเดียว

#4

Post by Bo_ry »

E5
=SUMPRODUCT(--TEXT(SUMIFS(data!$N$5:$N$28,data!$E$5:$E$28,$B5,data!$C$5:$C$28,data!$C$5:$C$28)*(FREQUENCY(MATCH(data!$C$5:$C$28,data!$C$5:$C$28,),ROW(A$1:INDEX(A:A,ROWS(data!$C$5:$C$28)-1)))>0),"0.00;\0;0"))

D5
=SUMPRODUCT(--TEXT(SUMIFS(data!$N$5:$N$28,data!$E$5:$E$28,$B5,data!$C$5:$C$28,data!$C$5:$C$28)*(FREQUENCY(MATCH(data!$C$5:$C$28,data!$C$5:$C$28,),ROW(A$1:INDEX(A:A,ROWS(data!$C$5:$C$28)-1)))>0),"\0;0.00;0"))
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ให้ดึงข้อมูลมาแสดงเป็นยอดเดียว

#5

Post by March201711 »

ข่วยอธิบายสูตรได้ไหมคะ
User avatar
Bo_ry
Gold
Gold
Posts: 1245
Joined: Sun Aug 12, 2018 12:11 am
Excel Ver: MS 365
Contact:

Re: ให้ดึงข้อมูลมาแสดงเป็นยอดเดียว

#6

Post by Bo_ry »

a. SUMIFS(data!$N$5:$N$28,data!$E$5:$E$28,$B5,data!$C$5:$C$28,data!$C$5:$C$28)
หาค่า Sum ของแต่ละชื่อในวันนั้นๆ รวมถึงชื่อซ้ำกัน

ิb. (FREQUENCY(MATCH(data!$C$5:$C$28,data!$C$5:$C$28,),ROW(A$1:INDEX(A:A,ROWS(data!$C$5:$C$28)-1)))>0)
จะเป็นจริงเฉพาะชื่อแรก ไม่มีค่าซ้ำ

a*b หาค่า Sum ของแต่ละชื่อ แบบไม่ซ้ำ

c Text(a*b,"0.00;\0;0") จะได้แต่ค่าบวก
d Text(a*b,"\0;0.00;0") จะได้แต่ค่าลบ

sumproduct( --c) รวมค่าบวก
sumproduct( --d) รวมค่าลบ
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ให้ดึงข้อมูลมาแสดงเป็นยอดเดียว

#7

Post by March201711 »

ค่ะ ขอบคุณมากค่ะ :D
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ให้ดึงข้อมูลมาแสดงเป็นยอดเดียว

#8

Post by March201711 »

แล้วถ้า File นี้จะใช้ได้ไหมคะ
โดยดูจาก column currency ว่าเป็น สกุลเงินอะไรและเป็นขา BU หรือ SE โดยให้ดึงข้อมูลที่ column K และ L ไปแสดงในแต่ละสกุลและขาที่กำหนดค่ะ

Ex ; Currency USD Side BU ข้อมูลดึงจาก Column K และ column L ไปที่ Column AS8 และ AT8 ค่ะ
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: ให้ดึงข้อมูลมาแสดงเป็นยอดเดียว

#9

Post by Bo_ry »

M8
=IF((LOOKUP("z",$M$5:M$5)=$I8)*(LEFT(LOOKUP("z",$M$6:M$6),2)=$J8),INDEX($K8:$L8,MOD(COLUMN()-1,2)+1),"")

copy ให้เต็มตาราง
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ให้ดึงข้อมูลมาแสดงเป็นยอดเดียว

#10

Post by March201711 »

ได้แล้วค่ะ แต่สงสัยสูตรว่า ทำไมดึงว่า z ทั้งๆที่ไม่ได้ดึงจาก column z เลยคะ
IF((LOOKUP("z",$M$5:M$5)=$I8)*(LEFT(LOOKUP("z",$M$6:M$6),2)=$J8),INDEX($K8:$L8,MOD(COLUMN()-1,2)+1),"")
ถ้าlookup ค่า x y a b c จะได้เท่ากันไหมคะ
User avatar
Bo_ry
Gold
Gold
Posts: 1245
Joined: Sun Aug 12, 2018 12:11 am
Excel Ver: MS 365
Contact:

Re: ให้ดึงข้อมูลมาแสดงเป็นยอดเดียว

#11

Post by Bo_ry »

"z" เป็น Lookup value
ต้องการหาค่าสุดท้าย ต้องใช้ text ที่มากกว่าข้อมูลที่หา
เช่น มี Buy, Sell
ถ้าใช้ c,d … s จะหาได้แต่ Buy
ถ้าใช้ t ="t">"Sell" = True ก็จะหา Sell ได้

ดูตามนี้
https://www.facebook.com/XcWizard/posts ... 8149514947
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ให้ดึงข้อมูลมาแสดงเป็นยอดเดียว

#12

Post by March201711 »

ขอบคุณมากค่ะ คุณ Bo_ry :D
Post Reply