คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 2
ผมทำจาก excel 2013 วิธีการครับ
ต้องสร้างฟังก์ชั่นแบบกำหนดเอง
1. เปิด workbook ใหม่
2. เปิดการใช้ VBA (กดปุ่ม Alt+F11)
3. แทรก new module (Insert > Module)
4. - คัดลอกข้อความไปวาง -
//เริ่มต้นข้อความ
Function ROUNDSIG(num As Variant, sigs As Variant)
Dim exponent As Double
If IsNumeric(num) And IsNumeric(sigs) Then
If sigs < 1 Then
' Return the " #NUM " error
ROUNDSIG = CVErr(xlErrNum)
Else
If num <> 0 Then
exponent = Int(Log(Abs(num)) / Log(10#))
Else
exponent = 0
End If
ROUNDSIG = WorksheetFunction.Round(num, _
Sigs - (1 + exponent))
End If
Else
' Return the " #N/A " error
ROUNDSIG = CVErr(xlErrNA)
End If
End Function
//สิ้นสุดข้อความ
5. ออกจาก VBA (กดปุ่ม Alt+Q)
6. ใช้ฟังก์ชั่นที่สร้างขึ้น (กดปุ่ม Shift+F3, ภายใต้ "User Defined" : ผู้ใช้กำหนดเอง )
เช่น
ผมทำจาก excel 2013 วิธีการครับ
ต้องสร้างฟังก์ชั่นแบบกำหนดเอง
1. เปิด workbook ใหม่
2. เปิดการใช้ VBA (กดปุ่ม Alt+F11)
3. แทรก new module (Insert > Module)
4. - คัดลอกข้อความไปวาง -
//เริ่มต้นข้อความ
Function ROUNDSIG(num As Variant, sigs As Variant)
Dim exponent As Double
If IsNumeric(num) And IsNumeric(sigs) Then
If sigs < 1 Then
' Return the " #NUM " error
ROUNDSIG = CVErr(xlErrNum)
Else
If num <> 0 Then
exponent = Int(Log(Abs(num)) / Log(10#))
Else
exponent = 0
End If
ROUNDSIG = WorksheetFunction.Round(num, _
Sigs - (1 + exponent))
End If
Else
' Return the " #N/A " error
ROUNDSIG = CVErr(xlErrNA)
End If
End Function
//สิ้นสุดข้อความ
5. ออกจาก VBA (กดปุ่ม Alt+Q)
6. ใช้ฟังก์ชั่นที่สร้างขึ้น (กดปุ่ม Shift+F3, ภายใต้ "User Defined" : ผู้ใช้กำหนดเอง )
เช่น
แสดงความคิดเห็น
ถามการใช้ MS Excel หาเลขนัยสำคัญ 2 ตำแหน่ง โดยใช้สูตรครับ
1 ชุดข้อมูล แสดงเลขนัยสำคัญ 2 ตำแหน่ง
2 0.2135 0.21
3 0.0001374 0.00014
4 0.1023 0.10
5 1.254 1.3
6 0.00000412 0.0000041
7 1.934 1.9
ด้านซ้ายจะเป็นข้อมูลที่ได้จากการคำนวณทางสถิติครับ และต้องการเปลี่ยนให้เป็นเลขนัยสำคัญ 2 ตำแหน่งทางด้านขวา ไม่ทราบว่าพอจะมีสูตรไหนของ Excel ที่สามารถทำได้บ้างครับ โดยข้อมูลที่ A2 ถึง A7 จะเปลี่ยนแปลงไปตามการคำนวณ จุดทศนิยมไม่คงที่
ขอบพระคุณล่วงหน้าครับ