ฉันมีตัวเลขในสเปรดชีตดังนี้: 28.686279
เมื่อฉันเปิดแผ่นงานนี้ใน LibreOffice Calc หรือ Microsoft Excel จะมีฟังก์ชั่นสูตรที่ส่งกลับ "จำนวนเต็ม" คือ Ie 28 นอกจากนี้ยังมีสูตรที่ส่งกลับ "ทศนิยม" Ie 0.686279
หรือไม่
ฉันมีตัวเลขในสเปรดชีตดังนี้: 28.686279
เมื่อฉันเปิดแผ่นงานนี้ใน LibreOffice Calc หรือ Microsoft Excel จะมีฟังก์ชั่นสูตรที่ส่งกลับ "จำนวนเต็ม" คือ Ie 28 นอกจากนี้ยังมีสูตรที่ส่งกลับ "ทศนิยม" Ie 0.686279
หรือไม่
คำตอบ:
TRUNC()
ถูกออกแบบมาเพื่อลบส่วนทศนิยมของตัวเลขใด ๆ ทันทีและไม่มีการดัดแปลงใด ๆ กับส่วนที่ไม่ใช่ทศนิยม
ดังนั้นตามคำตอบของ LinYanคุณเพียงแค่ต้องใช้:
TRUNC(A1)
เพื่อรับส่วนจำนวนเต็มของค่าใน A1
A1-TRUNC(A1)
เพื่อรับเศษส่วนของค่าใน A1
ซึ่งแตกต่างจากFLOOR()
, TRUNC()
ทำงานบนตัวเลขทั้งบวกและลบโดยไม่ต้องมีการปรับตัวและทำงานในลักษณะเดียวกันทั้งใน Microsoft Excel และ LibreOffice
FLOOR()
ต้องการพารามิเตอร์ที่สำคัญเพื่อให้มีเครื่องหมายเช่นเดียวกับหมายเลขที่กำลังประมวลผล (มิฉะนั้นจะเกิดข้อผิดพลาด) ดังนั้น1
ในตอนท้ายจะต้องถูกเปลี่ยน-1
เป็นประมวลผลจำนวนลบหรือคุณสามารถแทรกSIGN()
และทำให้สูตรซับซ้อนยิ่งขึ้นโดยไม่จำเป็น
และใน OpenOffice และ LibreOffice FLOOR()
ยังมีพารามิเตอร์ "โหมด" โหมดที่สามเพิ่มเติม (เมื่อเทียบกับ Excel) ที่เปลี่ยนผลลัพธ์ที่ฟังก์ชันส่งคืนสำหรับจำนวนลบ
คุณสามารถลองFLOOR
ใช้ฟังก์ชันfloor(A1,1)
สำหรับส่วนจำนวนเต็มของ A1 A1-floor(A1,1)
สำหรับส่วนทศนิยมของ A1
ตัวอย่างเช่นจินตนาการ A1 คือ 167.583:
int(A1)
จะให้ 167 และ
mod(A1,1)
จะให้ 0.583
int(1.6) === 1
และint(-1.6) === -2
... แต่trunc(decimal;0)
ทำงานได้อย่างถูกต้องสำหรับทั้งสอง
อย่าคิดว่ามีฟังก์ชั่นที่เฉพาะเจาะจงในการทำเช่นนี้อย่างไรก็ตามคุณสามารถทำได้โดยทำรังคู่กัน
สมมติว่าคุณพยายามส่งคืนค่าทศนิยมขวาของเซลล์ A1 สูตรจะเป็น:
=MID(A1,SEARCH(".",A1,1)+1,LEN(A1))
สิ่งที่คุณกำลังทำที่นี่อย่างมีประสิทธิภาพคือการใช้ฟังก์ชัน MID เพื่อส่งกลับจำนวนอักขระที่เริ่มต้นที่จุดทศนิยม การอ้างอิงทั้ง 3 รายการไปยัง A1 ต้องได้รับการอัปเดตสำหรับแต่ละเซลล์ที่คุณกำหนดเป้าหมายเพื่อให้ทำงานได้อย่างถูกต้อง
=RIGHT(TEXT(ABS(A1)-INT(ABS(A1));",00");2)
มันจะไม่สมบูรณ์แบบและสวยงามใช่ไหม