Page 1 of 2
สูตรดึงจำนวนตามเงื่อนไข รหัส สถาที่ รายการ วันที่ ค่ะ
Posted: Wed May 21, 2014 3:01 pm
by suka
เรียนอาจารย์และท่านผู้รู้ค่ะ
จากตัวอย่างไฟล์แนบที่เซลล์ J12 ต้องการให้สูตรดึงจำนวนตามเงื่อนไขจาก รหัสร้าน , รหัสสินค้า , สถานที่เก็บสินค้า , รายการ และ วันที่ ค่ะ
ขอบคุณค่ะ
Re: สูตรดึงจำนวนตามเงื่อนไข รหัส สถาที่ รายการ วันที่ ค่ะ
Posted: Wed May 21, 2014 3:35 pm
by snasui

ลองตามนี้ครับ
J12 คีย์สูตร
=SUMIFS($J$2:$J$7,$C$2:$C$7,C12,$E$2:$E$7,E12,$G$2:$G$7,G12,$H$2:$H$7,H12,$I$2:$I$7,I12)
Enter > Copy ลงด้านล่าง
Re: สูตรดึงจำนวนตามเงื่อนไข รหัส สถาที่ รายการ วันที่ ค่ะ
Posted: Wed May 21, 2014 4:04 pm
by suka

ขอบคุณค่ะอาจารย์ สูตรได้ตรงตามต้องการค่ะ

Re: สูตรดึงจำนวนตามเงื่อนไข รหัส สถาที่ รายการ วันที่ ค่ะ
Posted: Wed May 21, 2014 8:44 pm
by suka
เรียนอาจารย์และท่านผู้รู้ค่ะ
ขอรบกวนอีกรอบค่ะ ตัวอย่างไฟล์แนบสูตรรับสินค้ารับเข้า-จ่ายออก เงื่อนไข รหัสสินค้า,วันที่ , สถานที่เก็บสินค้า คำตอบที่ต้องการตามเซลล์ K2:K7 นี้ค่ะ
ขอบคุณค่ะ
Re: สูตรดึงจำนวนตามเงื่อนไข รหัส สถาที่ รายการ วันที่ ค่ะ
Posted: Wed May 21, 2014 11:11 pm
by snasui

เงื่อนไขแค่คอลัมน์ E, F, I แล้วจะทราบได้อย่างไรว่า มีการรับเข้า มีการจ่ายออกครับ
Re: สูตรดึงจำนวนตามเงื่อนไข รหัส สถาที่ รายการ วันที่ ค่ะ
Posted: Thu May 22, 2014 1:32 pm
by suka
โพสต์ก่อนหน้านี้เขียนเงื่อนไขตกไปค่ะอาจารย์
เงื่อนไขต้องการให้สูตร บวก ลบ ตามวันที่ และ " ซิ้อ,งานฉีด " ให้สูตรบวก " ขาย,งานชุบ,แถม " ให้สูตรลบ ) ค่ะ ที่คอลัมน์
1.รหัสสินค้า ที่คอลัมน์ E
2.สถานที่เก็บสินค้า ที่คอลัมน์ G
3.รายการ mujคอลัมน์ H
4.วันที่ ที่คอลัมน์ I
5.จำนวน ที่คอลัมน์ J
จากตัวอย่างไฟล์แนบได้ลองสูตรที่เซลล์ L2 ตามด้านนี้ ผลยังไม่ได้ตามที่ต้องการค่ะ คำตอบที่ต้องการตามไฟล์ตัวอย่างที่เซลล์ K2:K7 นี้ค่ะ
=SUMIFS($J$2:$J$7,$C$2:$C$7,C2,$E$2:$E$7,E2,$G$2:$G$7,$L$1,$H$2:$H$7,"ซื้อ",$I$2:$I$7,I2)+SUMIFS($J$2:$J$7,$C$2:$C$7,C2,$E$2:$E$7,E2,$G$2:$G$7,$L$1,$H$2:$H$7,"งานฉีด",$I$2:$I$7,I2)-SUMIFS($J$2:$J$7,$C$2:$C$7,C2,$E$2:$E$7,E2,$G$2:$G$7,$L$1,$H$2:$H$7,"ขาย",$I$2:$I$7,I2)-SUMIFS($J$2:$J$7,$C$2:$C$7,C2,$E$2:$E$7,E2,$G$2:$G$7,$L$1,$H$2:$H$7,"งานชุบ",$I$2:$I$7,I2)-SUMIFS($J$2:$J$7,$C$2:$C$7,C2,$E$2:$E$7,E2,$G$2:$G$7,$L$1,$H$2:$H$7,"แถม",$I$2:$I$7,I2)
ขอบคุณค่ะ
Re: สูตรดึงจำนวนตามเงื่อนไข รหัส สถาที่ รายการ วันที่ ค่ะ
Posted: Thu May 22, 2014 8:06 pm
by snasui

ลองตามนี้ครับ
เซลล์ K2 คีย์
=SUM(SUMIFS($J$2:$J2,$E$2:$E2,E2,$G$2:$G2,$G2,$H$2:$H2,{"ซื้อ","งานฉีด"}))-SUM(SUMIFS($J$2:$J2,$E$2:$E2,E2,$G$2:$G2,$G2,$H$2:$H2,{"ขาย","งานชุบ","แถม"}))
Enter > Copy ลงด้านล่าง
จากตัวอย่างคำตอบที่เขียนมา คอลัมน์ I ไม่ถือเป็นเงื่อนไข หากใช้เป็นเงื่อนไขคำตอบจะยิ่งผิดพลาด สำหรับคำตอบที่ K5 คำตอบเป็น -9 ไม่ใช่ 15 ตามที่ทำตัวอยา่งคำตอบมาครับ
Re: สูตรดึงจำนวนตามเงื่อนไข รหัส สถาที่ รายการ วันที่ ค่ะ
Posted: Fri May 23, 2014 11:51 am
by suka
snasui wrote:
จากตัวอย่างคำตอบที่เขียนมา คอลัมน์ I ไม่ถือเป็นเงื่อนไข หากใช้เป็นเงื่อนไขคำตอบจะยิ่งผิดพลาด สำหรับคำตอบที่ K5 คำตอบเป็น -9 ไม่ใช่ 15 ตามที่ทำตัวอยา่งคำตอบมาครับ

ค่ะอาจารย์ คำตอบที่ K5 ไม่ใช่ 15 คำตอบต้องเป็น -9 ค่ะ
snasui wrote:
ลองตามนี้ครับ
เซลล์ K2 คีย์
=SUM(SUMIFS($J$2:$J2,$E$2:$E2,E2,$G$2:$G2,$G2,$H$2:$H2,{"ซื้อ","งานฉีด"}))-SUM(SUMIFS($J$2:$J2,$E$2:$E2,E2,$G$2:$G2,$G2,$H$2:$H2,{"ขาย","งานชุบ","แถม"}))
Enter > Copy ลงด้านล่าง
ขอบคุณค่ะอาจารย์ ให้สูตรสั้นกระชับดีได้คำตอบที่ถูกต้องค่ะ
หากต้องการเพิ่มอีกหนึ่งเงื่อนไขคือสถานที่เก็บสินค้าเข้าในสูตรตามรูปด้านล่าง คำตอบที่การตามคอลัมน์ K:L ค่ะ
ที่คอลัมน์ M ได้ทดลองใส่สูตร
=SUM(SUMIFS($J$2:$J2,$E$2:$E2,E2,$G$2:$G2,$G2,$H$2:$H2,{"ซื้อ","งานฉีด"}))-SUM(SUMIFS($J$2:$J2,$E$2:$E2,E2,$G$2:$G2,$G2,$H$2:$H2,{"ขาย","งานชุบ","แถม"}))-SUM(SUMIFS($J$2:$J2,$E$2:$E2,E2,$G$2:$G2,{"เก็บ 2"}))
ได้คำตอบตามรูปค่ะ ขอรบกวนช่วยเหลือปรับสูตรให้น่ะค่ะ ขอบคุณค่ะ
Re: สูตรดึงจำนวนตามเงื่อนไข รหัส สถาที่ รายการ วันที่ ค่ะ
Posted: Fri May 23, 2014 1:35 pm
by snasui

ที่ K2 ปรับสูตรเป็นด้านล่างครับ
=SUM(SUMIFS($J$2:$J2,$E$2:$E2,$E2,$G$2:$G2,$G2,$H$2:$H2,{"ซื้อ","งานฉีด"},$G$2:$G2,K$1))-SUM(SUMIFS($J$2:$J2,$E$2:$E2,$E2,$G$2:$G2,$G2,$H$2:$H2,{"ขาย","งานชุบ","แถม"},$G$2:$G2,K$1))
Copy ไป L2 แล้ว Copy ลงด้านล่าง
Re: สูตรดึงจำนวนตามเงื่อนไข รหัส สถาที่ รายการ วันที่ ค่ะ
Posted: Fri May 23, 2014 3:28 pm
by suka

ขอบคุณค่ะอาจารย์ สูตรใช้ได้ตรงตามการแล้วค่ะ
Re: สูตรดึงจำนวนตามเงื่อนไข รหัส สถาที่ รายการ วันที่ ค่ะ
Posted: Fri Jun 13, 2014 3:01 pm
by suka
เรียนอาจารย์และท่านผู้รู้ค่ะ
ขอรบกวนช่วยปรับสูตร ตัวอย่างไฟล์แนบนี้ค่ะ
ต้องการทราบจำนวนคงเหลือตามรหัสงาน รายการงานฉีด คอลัมน์ E (ลบ) จ่ายออก จำนวนคอลัมน์ C
สูตรที่คอลัมน์ I
=SUM(SUMIFS($C$2:$C2,$B$2:$B2,$B2,$D$2:$D2,$D2,$E$2:$E2,{"งานฉีด"},$B$2:$B2,I$1))-SUM(SUMIFS($C$2:$C2,$B$2:$B2,$B2,$D$2:$D2,$D2,$E$2:$E2,{"จ่ายออก"},$B$2:$B2,I$1))
สูตรด้านบนนี้ยังไม่ได้คำตอบที่ต้องการค่ะ ตัวอย่างคำตอบที่ต้องการที่คอลัมน์ J ไฟล์แนบค่ะ ขอบคุณค่ะ
Re: สูตรดึงจำนวนตามเงื่อนไข รหัส สถาที่ รายการ วันที่ ค่ะ
Posted: Fri Jun 13, 2014 4:03 pm
by snasui

เซลล์ J4 มีค่า 62314 มีหลักการคำนวณอย่างไรจึงได้ค่านั้นครับ
Re: สูตรดึงจำนวนตามเงื่อนไข รหัส สถาที่ รายการ วันที่ ค่ะ
Posted: Fri Jun 13, 2014 5:14 pm
by suka
ให้ค่าในคอลัมน์ C เป็นลบ ถ้าคอลัมน์ E เป็นจ่ายออก
ให้ค่าในคอลัมน์ C เป็นบวก ถ้าคอลัมน์ E เป็นงานฉีด
เซลล์ J4 นำค่าเซลล์ J3 - C4 มีค่า 62314 และหากมีงานฉีดก็ให้นำจำนวนงานฉีดที่ได้มาบวกค่ะ
Re: สูตรดึงจำนวนตามเงื่อนไข รหัส สถาที่ รายการ วันที่ ค่ะ
Posted: Fri Jun 13, 2014 6:53 pm
by snasui

ลองตามนี้ครับ
เซลล์ I2 คีย์
=SUMIFS(C$2:C2,B$2:B2,I$1,E$2:E2,"งานฉีด")-SUMIFS(C$2:C2,B$2:B2,I$1,E$2:E2,"จ่ายออก")
Enter > Copy ลงด้านล่าง
Re: สูตรดึงจำนวนตามเงื่อนไข รหัส สถาที่ รายการ วันที่ ค่ะ
Posted: Fri Jun 13, 2014 7:22 pm
by suka

ได้คำตอบตรงตามต้องการแล้วค่ะ ขอบคุณอาจารย์มากๆค่ะ
Re: สูตรดึงจำนวนตามเงื่อนไข รหัส สถาที่ รายการ วันที่ ค่ะ
Posted: Sat Jun 21, 2014 2:28 pm
by suka
เรียนอาจารย์ค่ะ ขอรบกวนช่วยเรื่องปรับ Code ค่ะ
ต้องการให้ Code นำข้อมูลจากชีท Template Q2:R4 ไปวางเป็น
สูตรที่คอลัมน์ Q:R ชีท DataRM_ex ไฟล์ MR_BookShare ได้เพิ่ม Code ด้านล่างตามนี้ ยังไม่สามารถว่างบัอมูลได้ค่ะ
Code: Select all
With formBook.Worksheets("Template")
Set ri = .Range(.Range("Q2"), .Range("R" & ii + 1))
End With
Set ri = wbShare.Sheets("DataRM_ex").Range("AQ1048576").End(xlUp).Offset(1, 0)
If formBook.Worksheets("Form").Range("B5") = True Then
MsgBox "Please check your data. This transaction already recorded."
Exit Sub
End If
จาก Code ทั้งชุดนี้
Code: Select all
Sub PasteDataRM_ex()
Dim wbShare As Workbook
Dim formBook As Workbook
Dim i As Integer
Dim ii As Integer
Dim e As Long
Dim rs As Range
Dim rt As Range
Dim ri As Range
Dim it As Range
Set formBook = ThisWorkbook
Set wbShare = Workbooks("MR_BookShare.xlsx")
With wbShare
e = .Sheets("DataRM_ex").Range("B" & Rows.Count).End(xlUp).Value + 1
formBook.Worksheets("Form").Range("J1").Value = e
End With
i = Worksheets("Form").Range("B5").Value
With formBook.Worksheets("Template")
Set rs = .Range(.Range("A2"), .Range("P" & i + 1))
End With
Set rt = wbShare.Sheets("DataRM_ex").Range("A1048576").End(xlUp).Offset(1, 0)
If formBook.Worksheets("Form").Range("B5") = True Then
MsgBox "Please check your data. This transaction already recorded."
Exit Sub
End If
ii = Worksheets("Form").Range("B5")
With formBook.Worksheets("Template")
Set ri = .Range(.Range("Q2"), .Range("R" & ii + 1))
End With
Set ri = wbShare.Sheets("DataRM_ex").Range("AQ1048576").End(xlUp).Offset(1, 0)
If formBook.Worksheets("Form").Range("B5") = True Then
MsgBox "Please check your data. This transaction already recorded."
Exit Sub
End If
If formBook.Worksheets("Form").Range("D4") = "" Then
MsgBox "Your data is empty. Fill your data and click record button again."
Exit Sub
End If
rs.Copy: rt.PasteSpecial xlPasteValues
wbShare.Save
formBook.Save
Application.CutCopyMode = False
formBook.Sheets("Form").Range("K7:K11,N7:N11").ClearContents
Application.ScreenUpdating = True
End Sub
Re: สูตรดึงจำนวนตามเงื่อนไข รหัส สถาที่ รายการ วันที่ ค่ะ
Posted: Sat Jun 21, 2014 3:44 pm
by snasui

Code ที่ยกมาไม่มีบรรทัดใดที่เขียนให้นำสูตรไปวาง ให้เขียนมาก่อน หากไม่ทราบว่าเขียนอย่างไรให้บันทึก Macro แล้วนำ Code ที่ได้มาปรับใช้ครับ
Re: สูตรดึงจำนวนตามเงื่อนไข รหัส สถาที่ รายการ วันที่ ค่ะ
Posted: Sat Jun 21, 2014 4:17 pm
by suka
อาจารย์คะ Code ที่บันทึก Macro ได้มาตามนี้ค่ะ
Code: Select all
Sub Macro4()
ActiveCell.FormulaR1C1 = _
"=SUMIFS(R2C11:RC11,R2C5:RC5,RC5,R2C15:RC15,""งานฉีด"")-SUMIFS(R2C11:RC11,R2C5:RC5,RC5,R2C15:RC15,""จ่ายออก"")"
Range("R2").Select
ActiveCell.FormulaR1C1 = _
"=SUMIFS(R2C12:RC12,R2C5:RC5,RC5,R2C15:RC15,""งานฉีด"")-SUMIFS(R2C12:RC12,R2C5:RC5,RC5,R2C15:RC15,""จ่ายออก"")"
Range("S2").Select
End Sub
Re: สูตรดึงจำนวนตามเงื่อนไข รหัส สถาที่ รายการ วันที่ ค่ะ
Posted: Sat Jun 21, 2014 4:19 pm
by snasui

ผมเข้าใจว่าที่ถามนั้นเป็นการบันทึกแบบข้ามไฟล์ จึงควรบันทึก Macro ในลักษณะข้ามไฟล์ตามการใช้งานจริงจะได้เห็นว่าได้ Code เป็นอย่างไร หากบันทึกมาเช่นนั้นลองปรับเป็นการใช้แบบข้ามไฟล์มาเองดูก่อน ติดตรงไหนค่อยถามมาครับ
หากผมเข้าใจไม่ถูกต้องช่วยอธิบายมาใหม่ สำหรับ Code ที่บันทึกมาแล้วนั้นยังติดขัดปัญหาใดครับ
Re: สูตรดึงจำนวนตามเงื่อนไข รหัส สถาที่ รายการ วันที่ ค่ะ
Posted: Sat Jun 21, 2014 4:25 pm
by suka
อาจารย์คะลองใหม่ได้ Code นี้ค่ะ
Code: Select all
Sub Macro7()
Range("Q2").Select
Selection.Copy
Windows("MR_BookShare.xlsx").Activate
ActiveWindow.WindowState = xlNormal
ActiveWindow.WindowState = xlNormal
Range("Q2").Select
ActiveSheet.Paste
Windows("Form.xlsm").Activate
ActiveWindow.WindowState = xlNormal
ActiveWindow.WindowState = xlNormal
Range("R2").Select
Application.CutCopyMode = False
Selection.Copy
Windows("MR_BookShare.xlsx").Activate
ActiveWindow.WindowState = xlNormal
ActiveWindow.WindowState = xlNormal
Range("R2").Select
ActiveSheet.Paste
Range("Q14").Select
End Sub