จัดรูปแบบตัวเลขด้วยจุดทศนิยมที่เป็นทางเลือกใน Excel


76

ฉันมีตัวเลขในเซลล์ใน Excel ฉันต้องการตัวเลขที่จัดรูปแบบเพื่อที่ว่าถ้าพวกเขามีตำแหน่งทศนิยมพวกเขาแสดงได้สูงสุดสองและถ้าพวกเขาไม่มีตำแหน่งทศนิยมจะไม่แสดงใด ๆ

ตัวอย่างเช่น.

  • 15 ควรจัดรูปแบบเป็น 15 ไม่ใช่ 15.00
  • 14.3453453 ควรจัดรูปแบบเป็น 14.35
  • 12.1 ควรจัดรูปแบบเป็น 12.1
  • 0 ควรจัดรูปแบบเป็น 0

0.##รหัสรูปแบบที่กำหนดเองที่อยู่ใกล้ฉันได้มาด้วยคือ น่าเสียดายที่รูปแบบนี้15.00เป็น15 (โปรดสังเกตจุดทศนิยมพิเศษ)

เพื่อทำให้ปัญหาซับซ้อนขึ้นสเปรดชีตเป็นผลลัพธ์ของการส่งออกจากบริการรายงานของ SQL Server ดังนั้นจึงไม่มีมาโคร โอ้มันดูเหมือนว่า0.##เป็นทางออกที่ดีที่สุดของฉันและพวกเขาสามารถอยู่กับช่วงเวลาพิเศษได้

คำตอบ:


29

อีกวิธีหนึ่งคุณสามารถแก้ปัญหาจุดทศนิยม "ทางเลือก" โดยใช้วิธีแก้ปัญหาต่อไปนี้

รูปแบบตัวเลข: General;[Red](General)

สิ่งนี้จะเพิ่มตำแหน่งทศนิยมและค่าเศษส่วนตามด้วยในขณะที่การจัดรูปแบบจำนวนลบในทางที่ชัดเจนยิ่งขึ้น

สำหรับคำถามเดิมของผู้โพสต์คุณยังคงต้องปัดเศษทศนิยมเป็นพิเศษโดยใช้สูตร อย่างไรก็ตามนี่เป็นสูตรง่ายๆ=ROUND(<value>,<desired decimal places>)ที่มีราคาไม่แพงมากนัก

ตัวอย่าง:

2500 -> 2500
0.25 -> 0.25
-2500 -> (2500)
-0.25 -> (0.25)

3
คำตอบนี้สมควรได้รับการโหวตมากขึ้น มันจัดการกับจุดทศนิยมอย่างถูกต้องโดยไม่ใช้การจัดรูปแบบตามเงื่อนไข ในกรณีเฉพาะของฉันฉันต้องการแสดงตำแหน่งทศนิยมทั้งหมดดังนั้นฉันไม่จำเป็นต้องแก้ไขสูตร
สัน

1
Generalมีปัญหาของการที่จะเข้าสู่ทางวิทยาศาสตร์ว่าตัวเลขที่มีทศนิยมมากเกินไปเช่นแทน2.6532E-06 0.0000026532
Dan Dascalescu

+1 สิ่งนี้มีประโยชน์สำหรับฉันในการแก้ปัญหาเฉพาะที่ต้องการแสดงค่าหลายพันดอลลาร์ (เช่นแสดง $ 40,000 เป็น $ 40k และ $ 10,500 เป็น $ 10.5k) ในป้ายกำกับของตาราง Pivot (ที่การจัดรูปแบบตามเงื่อนไขไม่ใช่ ตัวเลือก) รหัสรูปแบบ$General\kทำได้อย่างสมบูรณ์แบบ!
Dan Henderson

17

ใช้การจัดรูปแบบตามเงื่อนไขสำหรับตัวเลขที่ไม่ใช่ทศนิยม

ตัวอย่างเช่น A1 เป็นเซลล์เป้าหมาย

  1. จัดรูปแบบ A1 เป็น "###, ###. 00" จะใช้สำหรับเลขทศนิยม
  2. กำหนดรูปแบบตามเงื่อนไขสำหรับตัวเลขที่ไม่ใช่ทศนิยม

    • เงื่อนไข: ค่าของเซลล์เท่ากับ = TRUNC (A1)
    • รูปแบบ: ###,###

ด้านล่างเป็นผลลัพธ์:

12       =>  12
14.231   => 14.23
15.00000 => 15
17.3     => 17.30

เพิ่งมีปัญหากับหมายเลข 4.001 ซึ่งถูกปัดเศษเป็น 4.00 บนจอแสดงผล แต่จะไม่เป็นไปตามสูตรการจัดรูปแบบตามเงื่อนไข (4.001 <> 4) และจะยังคงแสดงเป็น "4. " ฉันใช้สูตรตามเงื่อนไขนี้เพื่อแก้ปัญหา: = ROUND ($ A1; 2) = TRUNC ($ A1)
leokhorn

14

รูปแบบที่กำหนดเองของ Excel สามารถให้คำตอบบางส่วนได้

รูปแบบที่กำหนดเองสำหรับตัวเลขใน Excel ถูกป้อนในรูปแบบนี้:

  • รูปแบบตัวเลขบวกรูปแบบตัวเลขลบรูปแบบศูนย์รูปแบบข้อความ

รูปแบบหนึ่งที่ใกล้เคียงกับความต้องการของคุณ แต่อยู่ในตำแหน่งทศนิยมสำหรับตัวเลขที่ไม่มีทศนิยมคือ:

  • ## ??. (# ## ??.); 0

ตัวอย่าง:

  • 15 แสดงเป็น 15
  • 14.3453453 แสดงเป็น 14.35
  • 12.1 แสดงเป็น 12.1
  • 0 ถูกแสดงเป็น 0

นี่คือคำตอบที่ดีที่สุด
KyloRen

4
แต่ก็ไม่ได้ให้ทางออกที่ถูกต้องหรืออาจเป็นไปได้ มันมีข้อมูลที่เป็นประโยชน์เกี่ยวกับรูปแบบตัวเลขที่กำหนดเอง
ลำเอียง

15 แสดงเป็น 15
Roger Far

6

ฉันพบสิ่งนี้เมื่อเร็ว ๆ นี้ใน Excel 2007 และเพิ่งใช้ฟังก์ชัน 'TRUNC' ในเซลล์ค่า:

  value  =TRUNC(B5,1)
      0      0
      5      5
    5.4    5.4
  65.43   65.4
765.432  765.4

ทำงานอย่างที่ฉันต้องการ ...


3
ใช่ทั้ง TRUNC (x, 2) และ ROUND (x, 2) จะทำงาน (ขึ้นอยู่กับวิธีการปัดเศษที่คุณใช้อยู่) จากนั้นคุณเพียงแค่ต้องตั้งค่าการจัดรูปแบบเซลล์เป็น "ทั่วไป" และตำแหน่งทศนิยมจะปรากฏต่อเมื่อจำเป็นเท่านั้น (ฉันลงคะแนนเพื่อทำเครื่องหมายคำตอบของ Droj ว่าเป็นคำตอบ)
Simon East

5

นี่คือวิธีการหนึ่งที่ใช้การจัดรูปแบบตามเงื่อนไข

  1. คลิกขวาที่เซลล์ของคุณเลือก "จัดรูปแบบเซลล์"
  2. เลือก "กำหนดเอง"
  3. ป้อน "0. ####" (เพิ่ม #s มากขึ้นหรือน้อยลงเพื่อควบคุมจำนวนทศนิยมสูงสุด)
  4. คลิกตกลง
  5. เมื่อเลือกเซลล์ไว้ให้ใช้ "การจัดรูปแบบตามเงื่อนไข" (อาจเป็นรายการเมนูในรูปแบบหรือปุ่มในหน้าแรกทั้งนี้ขึ้นอยู่กับรุ่น Excel ของคุณ)
  6. เพิ่มกฎใหม่ตามสูตร "= MOD (H32,1) = 0"

    แก้ไข - สูตรที่ดีกว่าคือ "= MOD (ROUND (H32,2), 1) = 0" โดยที่ '2' เป็นจำนวนทศนิยมที่ต้องการ สูตรก่อนหน้าจะเว้นจุดทศนิยมทศนิยมหากตัวเลขปัดเศษเป็นจำนวนเต็ม

    แทนที่ H32 ในสูตรด้วย ID ของเซลล์ของคุณ แต่ต้องแน่ใจว่าไม่มีสัญญาณ $! (ไม่มีเครื่องหมาย $ เพื่อให้แน่ใจว่าคุณคัดลอกรูปแบบไปยังเซลล์อื่น ๆ )

  7. สำหรับรูปแบบของกฎนี้ให้เลือกแท็บตัวเลขเลือก "กำหนดเอง"

  8. คราวนี้ให้ใส่สูตร "0"
  9. คลิกตกลงเวลาพอที่จะกลับไปที่แผ่นงาน (แตกต่างกันระหว่างรุ่น excel)

ไปแล้วเพลิดเพลินไปกับความรับผิดชอบ! หากคุณต้องการคัดลอกรูปแบบไปยังเซลล์อื่นโปรดจำไว้ว่าคุณสามารถคัดลอกเซลล์และใช้ "วางแบบพิเศษ" ด้วยตัวเลือก "รูปแบบ"


คุณช่วยอธิบายได้ไหมว่าสิ่งนี้ใช้ได้เฉพาะกับ Excel (หรือรุ่นที่ใหม่กว่า) ของ Excel เท่านั้น ฉันยังคงใช้ปี 2003 อยู่ (และฉันสงสัยว่าคนอื่นน่าอายเหมือนกัน) และเมื่อฉันไปที่การจัดรูปแบบตามเงื่อนไขฉันไม่มีตัวเลือกในการแก้ไขการจัดรูปแบบตัวเลขแบบอักษรชายแดนและรูปแบบเท่านั้น ขอบคุณ
SSilk

ฉันเพิ่งลองวิธีนี้ใน Excel 2010 และใช้งานได้ดี มันจะไม่ทำงานกับ Excel รุ่นก่อนหน้า (อย่างน้อยนั่นคือสิ่งที่ตัวตรวจสอบ "โหมดความเข้ากันได้" ของฉันใน Excel 2010 บอกฉัน)
barfuin

2

โปรดจำไว้ว่าใน Reporting Services คุณสามารถเขียนนิพจน์สำหรับการจัดรูปแบบตัวเลขได้เช่นกัน ในสถานการณ์ของฉันฉันใช้

iif(floor(Fields!numericFieldName.Value)=Fields!numericFieldName.Value,"0","0.##")

เป็นการแสดงออกในรูปแบบตัวเลข สิ่งนี้สร้างไฟล์ Excel ที่มีเซลล์สองรูปแบบโดยเลือกว่าค่านั้นเป็นจำนวนเต็มหรือไม่


1

คุณ / ผู้ใช้ของคุณป้อนค่าโดยตรงในเซลล์หรือพวกเขาจะถูกบรรจุโดยสูตรหรือแมโครหรือไม่?

หากเซลล์ไม่ได้รับการเติมโดยตรงจากมนุษย์คุณสามารถจัดเก็บค่าที่คำนวณได้ในช่วงที่ซ่อนไว้จากนั้นแสดงข้อความที่จัดรูปแบบไปยังผู้ใช้ด้วยสูตรดังนี้

=IF(ROUND(A1,2)=INT(A1),TEXT(A1,"0"),TEXT(A1,"0.0#"))

(โดยที่ 'A1' คือเซลล์ที่ถูกอ้างอิง)

สูตรจะแสดงค่าดังนี้:

 -------------------------
 |Original     |Formatted|
 |-------------+---------|
 |         15  |       15|
 | 14.3453453  |    14.35|
 |       12.1  |     12.1|
 |          0  |        0|
 |    -15.123  |   -15.12|
 |      1.004  |        1|
 -------------------------

หมายเหตุ: ผลลัพธ์ของสูตรเป็นสตริงข้อความไม่ใช่ตัวเลขดังนั้น:

  • ค่าเริ่มต้นของการส่งออกจะถูกจัดชิดซ้าย
  • คุณไม่สามารถใช้ผลลัพธ์ในการคำนวณเพิ่มเติมใด ๆ (แทนคุณควรใช้เซลล์ดั้งเดิมที่อ้างอิง)

1

จัดรูปแบบเซลล์เป็น 'ทั่วไป' จากนั้นภายใต้การตรวจสอบความถูกต้องของข้อมูลจะ จำกัด ค่าเป็นทศนิยม


หากคุณต้องการหลีกเลี่ยงการเพิ่มสูตร (และอาจเป็นคอลัมน์ใหม่) ในสเปรดชีตของคุณคำแนะนำของ Fred อาจดีที่สุด
Simon East

1
สิ่งนี้จะไม่อนุญาตให้ผู้คนใส่ตัวเลขที่เกินขีด จำกัด การมองเห็นของเลขทศนิยม
barfuin

1

สิ่งนี้ไม่จำเป็นต้องมีความซับซ้อนมากนัก - สามารถทำได้เฉพาะกับการจัดรูปแบบตามเงื่อนไข ฉันมี Excel 2010 ดังนั้นอาจใช้ไม่ได้กับรุ่นก่อนหน้า

  1. จัดรูปแบบเซลล์ให้เป็นทั่วไป จำนวนตำแหน่งทศนิยมสำหรับบางหมายเลขอาจสูงมาก
  2. ไฮไลต์เซลล์และคลิกการจัดรูปแบบตามเงื่อนไข คลิกกฎใหม่จากนั้น "ใช้สูตร"
  3. ใช้สูตร = (B1-INT (B1))> 0 (โดยที่ B1 คือเซลล์ที่คุณกำลังจัดรูปแบบ)
  4. คลิกปุ่มรูปแบบและเลือกกำหนดเอง ป้อน [= 0] 0; .## ลงในฟิลด์ Type
  5. กด Enter หลายครั้ง
  6. คลิกที่การจัดรูปแบบตามเงื่อนไขอีกครั้งคลิกจัดการกฎและแก้ไขกฎที่คุณเพิ่งสร้าง เปลี่ยนช่วงในฟิลด์ "ใช้กับ" เพื่อครอบคลุมช่วงที่คุณต้องการครอบคลุม

เสร็จหมดแล้ว.


1

คำตอบของฉันจะลบจุดทศนิยมและลบ 0 ค่า

ในการจัดรูปแบบตามเงื่อนไขเขียน:

General;#;;@

สิ่งนี้ควรทำเคล็ดลับ


สิ่งนี้แสดงเลขศูนย์เป็นเซลล์ว่าง
lolmaus - Andrey Mikhaylov

0

ยิ่งไปกว่านั้นคำตอบที่ดีของลุคข้างบนนี้คือความหลากหลายที่ขึ้นอยู่กับงานของเขา ฉันไม่ต้องการมีศูนย์ในเซลล์หากไม่มีค่า ปล่อยให้รูปแบบเซลล์ของคุณเป็นแบบทั่วไปและใช้สูตรนี้:

=IF((A1=""), "",IF(ROUND(A1,2)=INT(A1),TEXT(A1,"0"),TEXT(A1,"0.0#")))

อีกครั้งที่ A1 คือเซลล์ที่ถูกอ้างอิง


0

การใช้Roundฟังก์ชั่นเพื่อให้ตัวเลขที่สำคัญ สิ่งนี้ไม่เปลี่ยนจำนวนตำแหน่งทศนิยมที่แสดงอย่างไรก็ตาม เพียงแค่จัดรูปแบบเซลล์ด้วยการจัดgeneralรูปแบบตัวเลข

ROUND(MyValue,Sig.figs - 1 - INT(LOG10(ABS(MyValue)))

ทำไมสูตร INT (LOG ... ที่ซับซ้อนทั้งหมดทำไมจึงไม่ใช่แค่ ROUND (ค่า 2) และจัดรูปแบบทั่วไป
Simon East

0
B1=IF(ROUND(A1,2)=INT(A1),TEXT(A1,"0"),TEXT(A1,"0.##"))
C1=IF(ROUND(B1,2)=INT(B1),TEXT(B1,"0"),TEXT(B1,"0.##"))

ไม่มีทศนิยมเด็กกำพร้าอีกต่อไป


0

นี่ดูเหมือนจะเป็นวิธีที่ง่ายที่สุดในการแสดงทศนิยมเมื่อมีตัวเลขเศษส่วนและไม่มีการแสดงทศนิยมสำหรับตัวเลขทั้งหมด:

=TEXT(ROUND(Base_Number,Max_Decimal_Places),"general")

หรือมีการอ้างอิงเซลล์:

=TEXT(ROUND(A1,2),"general")

จะช่วยให้

15 = 15
9.23432234 = 9.23


ยินดีต้อนรับสู่ SuperUser @lookingforsame แค่จดบันทึกเพื่อดูรายละเอียดของคำถามที่ซ่อนอยู่ ในกรณีนี้ op กำลังบอกว่า output มาจาก SQL หากไม่สามารถใช้แมโครได้สูตรอาจไม่เป็นเช่นนั้น บางครั้งการใส่คำถามเป็นความคิดเห็นก่อนที่จะตอบ ดีใจที่ได้พบคนใหม่
Julian Knight
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.