Page 1 of 1

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

Posted: Tue Jul 30, 2019 12:58 pm
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

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

Posted: Tue Jul 30, 2019 2:32 pm
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")

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

Posted: Wed Jul 31, 2019 8:16 am
by March201711
ทำได้ค่ะ แต่ข้อมูลใน sheet data เป็นข้อมูลดิบมีหลายพันบรรทัดและอาจมีข้อมูลอื่นๆแทรกมาได้ ถ้าไม่ใส่สูตรที่ชีทdata เลย จะต้องปรับสูตรอย่างไรได้บ้างคะ

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

Posted: Wed Jul 31, 2019 9:25 am
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"))

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

Posted: Wed Jul 31, 2019 3:57 pm
by March201711
ข่วยอธิบายสูตรได้ไหมคะ

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

Posted: Wed Jul 31, 2019 5:14 pm
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) รวมค่าลบ

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

Posted: Wed Jul 31, 2019 5:25 pm
by March201711
ค่ะ ขอบคุณมากค่ะ :D

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

Posted: Wed Jul 31, 2019 5:26 pm
by March201711
แล้วถ้า File นี้จะใช้ได้ไหมคะ
โดยดูจาก column currency ว่าเป็น สกุลเงินอะไรและเป็นขา BU หรือ SE โดยให้ดึงข้อมูลที่ column K และ L ไปแสดงในแต่ละสกุลและขาที่กำหนดค่ะ

Ex ; Currency USD Side BU ข้อมูลดึงจาก Column K และ column L ไปที่ Column AS8 และ AT8 ค่ะ

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

Posted: Wed Jul 31, 2019 6:50 pm
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 ให้เต็มตาราง

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

Posted: Thu Aug 01, 2019 6:40 am
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 จะได้เท่ากันไหมคะ

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

Posted: Thu Aug 01, 2019 10:01 am
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

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

Posted: Thu Aug 01, 2019 1:25 pm
by March201711
ขอบคุณมากค่ะ คุณ Bo_ry :D