Page 1 of 1

การคำนวณ Excel

Posted: Thu Jun 05, 2014 9:33 am
by peam55
คือผมมี Sheet งานอยู่ 3 Sheet ใน Sheet ที่ 3 ผมจะทำการคูณค่าใน Column d ทั้ง Column กับ Column e ทั้ง Column (สมมติมีข้อมูลใน Column เยอะ)แล้วผลลัพธ์ไปขึ้นที่ Column G ต้องเขียนสูตรยังไงครับ :D

Re: การคำนวณ Excel

Posted: Thu Jun 05, 2014 9:58 am
by bank9597
เงื่อนไขคืออะไรครับ ลองยกตัวอย่างคำตอบมาให้ดูหน่อยครับ

Re: การคำนวณ Excel

Posted: Thu Jun 05, 2014 11:19 am
by peam55
bank9597 wrote:เงื่อนไขคืออะไรครับ ลองยกตัวอย่างคำตอบมาให้ดูหน่อยครับ
เช่นแถวที่ 2 Column d = 100 คูณกับ แถวที่ 2 Column e = 3 คำตอบเท่ากับ โดยคำตอบขึ้นในแถวที่ 2 Column g
แถวที่ 3 Column d = 0.5 คูณกับ แถวที่ 3 Column e = 56 คำตอบเท่ากัน 28 โดยคำตอบขึ้นในแถวที่ 3 Column g ทำแบบนี้ไปเรื่อยๆครับจนครบทุกข้อมูล
แล้วส่วนในแถวที่ 4 ใน Column e ไม่มีข้อมูล เราจะเลือกไม่ต้องให้มันคูณได้ไหมครับ
ขอบคุณครับ :D

Re: การคำนวณ Excel

Posted: Thu Jun 05, 2014 11:25 am
by bank9597
:| ที่ G2 คีย์ =IFERROR(D2*E2,"") แล้วคัดลอกสูตรลงมาครับ

Re: การคำนวณ Excel

Posted: Thu Jun 05, 2014 1:55 pm
by peam55
bank9597 wrote::| ที่ G2 คีย์ =IFERROR(D2*E2,"") แล้วคัดลอกสูตรลงมาครับ
ขอบคุณครับ
แล้วถ้าผมจะใช้สูตรนี้ร่วมกับ VBA ได้ไหมครับ ให้มันคูณกันทีเดียวทั้งคอลัมน์
อันนั้นโค้ดครับ โดยจะให้ผลลัพธ์มันขึ้นใน Column g ในช่องที่ว่างๆอยู่ครับ

Code: Select all

Public Sub qvww()
[Table].SpecialCells(xlCellTypeBlanks).Select
    For Each m In Selection
        If m.Column = 7 Then
            m.Value = "=calc_qvww"
            m.Value = m.Value
        End If
    Next
End Sub
ขอบคุณครับ :D

Re: การคำนวณ Excel

Posted: Thu Jun 05, 2014 2:29 pm
by snasui
:D ตัวอย่าง Code ตามด้านล่างครับ

Code: Select all

Public Sub qvww()
   On Error Resume Next
   Set rall = Range("g:g").SpecialCells(xlCellTypeBlanks)
   If Err <> 0 Then Exit Sub
    For Each Z In rall
        Z.Value = Z.Offset(0, -3) * Z.Offset(0, -2)
    Next Z
End Sub

Re: การคำนวณ Excel

Posted: Thu Jun 05, 2014 4:36 pm
by peam55
snasui wrote::D ตัวอย่าง Code ตามด้านล่างครับ

Code: Select all

Public Sub qvww()
   On Error Resume Next
   Set rall = Range("g:g").SpecialCells(xlCellTypeBlanks)
   If Err <> 0 Then Exit Sub
    For Each Z In rall
        Z.Value = Z.Offset(0, -3) * Z.Offset(0, -2)
    Next Z
End Sub
ขอบคุณครับ ได้แล้วครับ :D
แต่ผมขอถามอีกอย่างครับว่า ถ้าผมจะคำนวณตามแบบไฟล์ที่แนบมา(รายละเอียดการคำนวณอยู่ในไฟล์แนบครับ) ต้องเขียนสูตรยังไงครับที่เอามาใช้ร่วมกับ VBA เพื่อให้มันคำนวณทีเดียวทั้ง Column ครับ
ขอบคุณครับ :D

Re: การคำนวณ Excel

Posted: Thu Jun 05, 2014 4:43 pm
by snasui
:D สองบรรทัดในตัวอย่างมีความแตกต่างกันอย่างไรหรือต้องพิจารณาอะไรจึงใช้สูตรไม่เหมือนกันครับ

Re: การคำนวณ Excel

Posted: Fri Jun 06, 2014 9:37 am
by peam55
snasui wrote::D สองบรรทัดในตัวอย่างมีความแตกต่างกันอย่างไรหรือต้องพิจารณาอะไรจึงใช้สูตรไม่เหมือนกันครับ
ถ้าผมจะหาร 1000 เขียนแบบนี้ได้ไหมครับหรือต้องแก้ยังไงครับ ตรง q.Value = Z.Offset(0, -2) * q.Offset(0, -1) / 1000
ขอบคุณครับ :D

Code: Select all

Public Sub dbod()
 On Error Resume Next
   Set rall = Range("i:i").SpecialCells(xlCellTypeBlanks)
   If Err <> 0 Then Exit Sub
    For Each q In rall
        q.Value = Z.Offset(0, -2) * q.Offset(0, -1) / 1000
    Next q
End Sub

Re: การคำนวณ Excel

Posted: Fri Jun 06, 2014 9:41 am
by snasui
:D Code ที่เขียนมาได้ผลลัพธ์ไม่ตรงกับที่ต้องการอย่างไรครับ :?:

Re: การคำนวณ Excel

Posted: Fri Jun 06, 2014 10:53 am
by peam55
snasui wrote::D Code ที่เขียนมาได้ผลลัพธ์ไม่ตรงกับที่ต้องการอย่างไรครับ :?:
มันไม่ขึ้นผลลัพธ์ใน Column I ครับ หรือผมเขียน Code โปรแกรมเลยไม่คำนวณให้ :D

Re: การคำนวณ Excel

Posted: Fri Jun 06, 2014 10:57 am
by snasui
:D จาก Statement นี้ q.Value = Z.Offset(0, -2) * q.Offset(0, -1) / 1000 ไม่ทราบว่า Z.Offset(0, -2) นั้นเป็นการลืมแก้หรืออ้างอิงมาใช้จากไหนครับ

Re: การคำนวณ Excel

Posted: Fri Jun 06, 2014 11:10 am
by peam55
snasui wrote::D จาก Statement นี้ q.Value = Z.Offset(0, -2) * q.Offset(0, -1) / 1000 ไม่ทราบว่า Z.Offset(0, -2) นั้นเป็นการลืมแก้หรืออ้างอิงมาใช้จากไหนครับ
ได้แล้วครับ ไม่ได้เปลี่ยนตรง Z.Offset(0, -2) ครับ ขอบคุณครับ :D :D

Re: การคำนวณ Excel

Posted: Sat Jun 14, 2014 9:18 pm
by peam55
อาจารย์ครับรบกวนอธิบายโค้ดสองบรรทัดนี้ด้วยครับ

Code: Select all

   Set rall = Range("i:i").SpecialCells(xlCellTypeBlanks)
   If Err <> 0 Then Exit Sub
ขอบคุณครับ :D

Re: การคำนวณ Excel

Posted: Sat Jun 14, 2014 10:59 pm
by snasui
:D บรรทัดแรกเป็นการกำหนดค่าให้กับ rall โดยให้เป็นเซลล์ทั้งหมดที่เป็นค่าว่างในคอลัมน์ I

บรรทัดที่สองเป็นการตรวจสอบว่าหากเกิด Err ก็ให้ออกจาก Sub Procedure

Re: การคำนวณ Excel

Posted: Sun Jun 15, 2014 10:50 am
by peam55
snasui wrote::D บรรทัดแรกเป็นการกำหนดค่าให้กับ rall โดยให้เป็นเซลล์ทั้งหมดที่เป็นค่าว่างในคอลัมน์ I

บรรทัดที่สองเป็นการตรวจสอบว่าหากเกิด Err ก็ให้ออกจาก Sub Procedure
ขอบคุณมากครับ :D