ฉันจะหยุด Excel จากการแปลงค่า 0503E000 เป็น 5.03E + 02 โดยอัตโนมัติได้อย่างไร


22

Excel แปลงค่า 0503E000 เป็น 5.03E + 02 ในเซลล์ใด ๆ โดยอัตโนมัติใน CSV ฉันพยายามแปลงเป็นหมายเลขข้อความและทั่วไป แต่หลังจากฉันบันทึกและเปิดใหม่อีกครั้งจะกลับไปเป็น 5.03E + 02

ฉันจะหยุดสิ่งนี้ไม่ให้เกิดขึ้นได้อย่างไร


เพียงปรับขนาดความกว้างของคอลัมน์และควรจะแสดงตามปกติ
Scorpion99

คุณลองจัดรูปแบบเซลล์เป็นข้อความก่อนป้อนข้อความหรือไม่
CharlieRB

พยายามปรับขนาดและจัดรูปแบบเป็นข้อความแล้วไม่ไป ....
CrashOverride

หากคุณต้องการใช้ค่าเป็นเลขฐานสิบหก (เช่นคุณไม่สามารถใช้เป็นสตริงข้อความได้) คุณสามารถซ้อนDEC2HEXและHEX2DECสตริงสำหรับหมายเลขเดิมได้ (เช่น=DEC2HEX(HEX2DEC("0503E000"))ตัวอย่างของคุณ) มันอาจจะไม่ช่วยถ้าคุณต้องการจัดการไฟล์ csv โดยไม่ต้องมีสูตร แต่มันเป็นตัวเลือกอื่นนอกเหนือจากการจัดรูปแบบเป็นข้อความ
Myles

คำตอบ:


16

ฉันคิดว่าประเด็นสำคัญที่นี่คือคุณกำลังใช้ CSV ซึ่งไม่มีประเภทเซลล์ฝังอยู่ในนั้น Excel โดยอัตโนมัติพยายามที่จะแปลความหมายของเซลล์ที่มีจำนวนทางวิทยาศาสตร์ซึ่งเป็นเหตุผลที่คุณจะเห็น5.03E + 02แทน0503E000

ลองสร้างเวิร์กบุ๊ก Excel และจัดรูปแบบเซลล์ทั้งหมดเป็นข้อความแล้วจึงวางในข้อมูล ฉันลองใน Excel 2013 และใช้งานได้


ใช่มันใช้งานได้ในสมุดงาน แต่น่าเสียดายที่เราต้องใช้ CSV เพื่อจุดประสงค์นี้ ..... สงสาร
CrashOverride

ดังนั้นอย่าใช้ Excel เพื่อดูเนื้อหาหรือเรียกใช้แมโครในเซลล์เพื่อแปลงกลับหรือใช้ไวยากรณ์ที่แตกต่างกันเล็กน้อยถ้าคุณใช้ 0x ก่อนค่าที่ฉันไม่เชื่อว่ามันจะแปลง
Ramhound

ฉันคิดว่าเราอาจต้องเลิกจ้าง ... เพราะถ้าเราเปิดในโปรแกรมแก้ไขอื่นเช่น notepad หรือ notepad ++ มันมีค่าที่ถูกต้อง .... ดังนั้นฉันคิดว่าเซลล์มีค่าที่ถูกต้องเพียงแสดงมันอย่างแปลกประหลาดในทางวิทยาศาสตร์ ....
CrashOverride

26

หากคุณสามารถแปลงหรือควบคุมรูปแบบ CSVคุณสามารถบังคับให้คอลัมน์แยกวิเคราะห์เป็นข้อความใน Excel ได้โดยการตัดคำนั้นด้วยเครื่องหมายคำพูดคู่และใส่เครื่องหมายเท่ากับ

Excel จะละทิ้งความแม่นยำอย่างไม่ระมัดระวังในรูปแบบนี้:

Value,0503E000,1234123412341234

หรือแม้แต่รูปแบบนี้:

Value,"0503E000","1234123412341234"

แปลงเป็น:

Value  |  5.03E+02  |  1234123412341230

อย่างไรก็ตามการเพิ่มเครื่องหมายเท่ากับบังคับให้ Excel เก็บข้อมูลของคุณอย่างไม่เหมาะสม:

Value,="0503E000",="1234123412341234"

... ซึ่งเปิดเป็น:

Value  |  0503E000  |  1234123412341234

1
ทางออกที่ยอดเยี่ยมเมื่อวางจาก SQL
SeaSprite

1
โซลูชันที่ยอดเยี่ยมเมื่อนำเข้าข้อมูลผ่าน "รับข้อมูลภายนอก" ในเมนู "ข้อมูล" ของ Excel
Mohsen Abasi

1
ทางออกที่ดี ข้อเสียเปรียบ (เล็ก) เพียงอย่างเดียวคือคุณจะต้องจบด้วยสูตรแทนที่จะเป็นค่า ดังนั้นเพียงคัดลอกทุกอย่างแล้ววางค่าซึ่งจะนำไปสู่ไฟล์ Excel ที่ค่อนข้างเล็ก
Stef

9

แทนที่จะเปิด "ไฟล์ CSV ใน Excel ให้เลือกนำเข้าไฟล์ (ใน Excel 2007-2010 คุณจะไปที่ Data Ribbon / รับข้อมูลภายนอก / จากข้อความ) ไม่แน่ใจเกี่ยวกับ 2013 แต่ควรมีสิ่งที่คล้ายกันเมื่อ คุณทำเช่นนั้นตัวช่วยสร้างการนำเข้าข้อความจะเปิดขึ้นและให้โอกาสคุณจัดรูปแบบคอลัมน์ที่มีค่านั้นเป็นข้อความก่อนที่ Excel (ไม่เป็นประโยชน์) จะเปลี่ยนเป็นค่าตัวเลข


1
นี้. ฉันแทบไม่เคยเปิดไฟล์ CSV โดยตรง
pepoluan

@epoluan ฉันไม่เข้าใจสิ่งที่คุณเขียน
Ron Rosenfeld

ส่วนไหนที่คุณไม่เข้าใจ
pepoluan

4
@epoluan ขอบคุณ ถ้าฉันเข้าใจthisส่วนที่เหลือก็ชัดเจน เดาสิว่าฉันแก่แล้ว :-(
Ron Rosenfeld

1
ฉันหวังว่าการใช้คำว่า "นี่" เป็นประโยคที่สมบูรณ์น่าจะทำให้เสียชีวิตได้อย่างรวดเร็ว แต่ 4 ปีต่อมามันแข็งแกร่งอย่างที่เคยเป็นมา
ตัวแปร

2

เริ่มเซลล์ด้วยเครื่องหมายอัญประกาศเดี่ยวเพื่อบังคับการตีความข้อความ:

'0502E000

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

[a1] '0502E000
[b1] =hex2dec(a1)

เซลล์ 'b1' จะแสดง 84074496


2
สิ่งนี้จะทำงานเมื่อเข้าสู่ Excel โดยตรง แต่ไม่ใช่ไฟล์ CSV
SBF

เมื่อเปิดไฟล์ csv เครื่องหมายอะพอสโทรฟีจะถูกป้อนเข้าสู่เซลล์จริง ๆ
Stef

0

ลองโหลดไฟล์ (ข้อมูลที่ดึงมาจากตารางฐานข้อมูล) ผ่านตัวเลือก DATA ใน MS excel แล้วเพียงแค่โหลดเลือก“ อย่าตรวจจับชนิดข้อมูล” ภายใต้“ การตรวจจับประเภทข้อมูล” จากนั้นโหลดสิ่งนี้จะเก็บไว้ในรูปแบบของข้อมูล และโหลด excel ไม่จำเป็นต้องมีการแปลงคอลัมน์ใด ๆ


0

วางข้อมูลลงในสเปรดชีตของ Google เลือกคอลัมน์ ==> รูปแบบ ==> จำนวน => รูปแบบที่กำหนดเอง => พิมพ์จำนวนหลักที่คุณต้องการให้รูปแบบเกิดขึ้น (เช่น 10 หลัก = 0000000000)


ฉันอยากจะแนะนำที่ดีกว่าแก้ไขคุณโพสต์เนื่องจากต้องเพิ่มตัวอย่าง !!
Rajesh S

-1

ด้วยการจัดรูปแบบเซลล์เริ่มต้นตัวเลขที่มีศูนย์หน้าและตัวเลขยาวจะถูกปรับเปลี่ยนโดย Excel ตัวอย่างเช่นถ้าคุณพิมพ์ 012 มันจะเปลี่ยนเป็น 12

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

อย่างไรก็ตามหากคุณวางตัวเลขจากแหล่งอื่นลงในเซลล์ที่จัดรูปแบบเป็นข้อความและในแหล่งที่มีการจัดรูปแบบใด ๆ การจัดรูปแบบของเซลล์จะเปลี่ยนจากTextเป็นGeneralและการจัดการตัวเลขจะกลับมา

วิธีการแก้ปัญหาที่ผมพบคือการทำพิเศษวางและวางตัวเลขเป็นข้อความ จากนั้นเซลล์จะยังคงอยู่กับการจัดรูปแบบข้อความและหมายเลขจะไม่ถูกปรับเปลี่ยนเลย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.