ฉันมีตัวเลขในสเปรดชีตดังนี้: 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) เพื่อรับส่วนจำนวนเต็มของค่าใน A1A1-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)
มันจะไม่สมบูรณ์แบบและสวยงามใช่ไหม