Cách ngăn Excel khỏi định dạng tự động và làm cho nó hoạt động giống như một chương trình crunching số


19

Tôi có một vấn đề thực sự với Excel trong các tệp csv, đó là định dạng số theo một số cách nhất định và dường như tôi không thể có được Excel để hiển thị dữ liệu ngay cả khi tôi làm gì.

Hãy tưởng tượng tôi có một colum gọi là "Tham khảo sản phẩm". Trong cột đó tôi có nhiều ID loại:

  • 001145
  • 55666
  • 02133

Bất cứ khi nào tôi mở tệp Excel, nó sẽ định dạng các số này thành:

  • 1145
  • 55666
  • 2133

Điều đó là hoàn toàn sai. Khi tôi tô sáng cột và định dạng nó dưới dạng văn bản 0 trước đó ở đầu các số không trả về.

Trong nỗ lực giải quyết vấn đề này, tôi thậm chí đã tạo tệp csv thành tệp văn bản trước rồi nhập tệp vào Excel và đặc biệt bảo nó không định dạng số bằng cách đặt định dạng văn bản trong quá trình nhập nhưng nó vẫn định dạng sai số khi tôi đóng nó và mở lại một lần nữa do thực tế là csv không thể xác định loại nên Excel tự động lưu tệp dưới dạng rác thuần túy.

Có ai tìm thấy một cách xung quanh này và có thể giúp tôi ra?

Cảm ơn,


Theo như tôi biết, cách duy nhất để khiến Excel hiển thị CSV một cách trung thực là nhập nó dưới dạng văn bản, theo cách bạn mô tả.
Xuất sắc

Bạn không cần phải tạo CSV thành tệp văn bản. Tính năng Nhập từ Tệp văn bản cũng hoạt động cho các tệp CSV. Bạn chỉ cần xác định rằng bạn có dấu phân cách dấu phẩy.
Xuất sắc

Câu trả lời:


19

Bạn cần chỉ định trong tệp csv rằng đó là văn bản. Bạn làm điều này bằng cách đặt số của bạn trong dấu ngoặc kép và đặt trước bằng và dấu bằng, ví dụ:

="001145",="55666",="02133"

Cách đơn giản nhất để làm điều này sẽ làm một tìm-thay thế vào ,với ",=", thay thế cuối dòng (bạn có thể cần phải sử dụng một trình soạn thảo tiên tiến như Notepad ++ cho việc này) với "\r\n="và làm khi bắt đầu và kết thúc của tập tin bằng tay.


Rất tuyệt :) Tôi sẽ dùng thử và báo cáo lại
Sammaye

11
  1. Thay đổi phần mở rộng tệp từ ".csv" thành ".txt" trên tệp bạn đang gặp vấn đề.
  2. Mở excel bằng chính nó. Đừng bấm vào tập tin để mở nó.
  3. Nhấp vào "Mở", thay đổi loại tệp cần tìm từ "Tất cả tệp Excel" thành "Tất cả tệp"
  4. Tìm tập tin của bạn và nhấp vào mở. Vì Excel không tự động định dạng txt, nên nó sẽ đưa bạn qua trình hướng dẫn.
  5. Đảm bảo nút radio "Được phân cách" được chọn. Nhấp vào nút "tiếp theo".
  6. Chọn hộp phân cách "dấu phẩy" và tiếp tục nhấn nút "tiếp theo" cho đến khi bạn XEM (nhưng không nhấp vào nó) nút kết thúc.
  7. cuộn qua từng cột trong bảng tính, tô sáng từng cột bạn muốn định dạng thủ công và thay đổi định dạng thành "văn bản".
  8. Nhấp vào nút kết thúc.

Đây là một cách tốt, không rắc rối để giải quyết vấn đề.
Jack

Bạn đã cứu ngày của tôi!
dinesh ygv 7/12/2015

2

Cài đặt OpenOffice từ Oracle và thực hiện tương tự với định dạng CSV của OpenOffice và nó hoạt động.

Tôi đã gặp sự cố này trong Windows 7 Pro với Excel 2010. Tôi đã từng có thể sao chép danh bạ Outlook sang Excel, lưu dưới dạng CSV và nhập vào Gmail và Android (số di động có số 0 và dấu + hàng đầu).


1

Nhấp chuột phải vào các ô chứa dữ liệu của bạn và nhấp vào mục nhập menu Định dạng .... Sau đó, trong tab đầu tiên ("Số"), thay đổi danh mục từ Chung thành Văn bản . Điều này sẽ ngăn Excel tự động định dạng các ô đó dưới dạng số và do đó loại bỏ các số 0 đứng đầu (vô nghĩa trong bối cảnh phân tích số, nhưng rất có ý nghĩa khi xử lý ID sản phẩm).

Nếu dữ liệu đang được nhập và phân tích thành số, bạn cần sử dụng trình hướng dẫn Nhập dữ liệu và đặt từng loại cột thành "Văn bản" thay vì "Chung". Sau đó, làm điều tương tự với các ô và sau đó lưu sổ làm việc Excel của bạn.


Tệp CSV không giữ lại định dạng. Điều này sẽ không giúp đỡ.
Xuất sắc

@Excellll rõ ràng, nó chỉ là một loạt các ký tự ASCII được phân tách bằng dấu phẩy. Theo mặc định , Excel đánh dấu các định dạng ô là Chung và cố gắng diễn giải giá trị (số, ngày, bất cứ thứ gì) để có thể sử dụng nó với các công thức (vì văn bản thuần túy thường không thể). Bạn cần thông báo thủ công cho Excel để diễn giải giá trị dưới dạng văn bản thuần để nó không tự động chuyển đổi.
Đột phá

Yea sẽ hoạt động nếu Excel không "tự động lưu" định dạng của các trường :( Tôi cần Excel để hoạt động giống như mọi ngôn ngữ lập trình / mở CSV khác.
Sammaye

Tôi đã thử điều đó, Excel mặc định nó trở lại khi bạn mở tệp Excel đã chuyển đổi. Vì vậy, tôi nhập từ TXT sang Excel và bảo nó ở đó để hiển thị dưới dạng văn bản, đóng tệp và mở tệp và mặc định Excel trở lại định dạng số cho các trường ẩn giá trị thực của chúng và tôi quay lại ngay tại sq.
Sammaye

@BreakENC, xin lỗi tôi đã không thể hiện ý của tôi. Như bạn đã nói trong nhận xét của mình, khi CSV được mở trong Excel, Excel sẽ áp dụng định dạng chung cho tất cả dữ liệu. Tại thời điểm này, văn bản (tức là các số 0 đứng đầu) thực sự được lưu trong tệp CSV có thể được Excel truy xuất. Vấn đề là một khi bạn đã mở CSV trong Excel, đã quá muộn để thay đổi định dạng.
Xuất sắc

1

bấm vào ô bạn muốn giữ số 0 đứng đầu sau đó: nhấp chuột phải> Định dạng ô> tùy chỉnh> 0> nhập tổng số cần có trong ô như: Nếu tôi cần 00001234 thì tôi sẽ đặt 00000000 làm số 0, tất cả những gì đang bảo nó làm là đặt tổng số 8 vào ô, tôi đã có 1234, vì vậy nó sẽ tạo ra sự khác biệt với 4 số 0 đứng đầu.

Tôi sử dụng điều này hàng ngày để nhập bảng tính.


0

Để thêm vào câu trả lời của @ Jon từ câu hỏi này, tôi đã có một tệp CSV có một số cột có số 0 đứng đầu và số dài hơn sẽ mất số 0 đứng đầu hoặc chuyển đổi số dài thành ký hiệu khoa học hoặc cả hai, khi được nhập.

Cách duy nhất tôi có thể sửa là định dạng đầu tiên tất cả các ô trong trang tính trống Textbằng cách sử dụng các bước sau:

  1. Chọn tất cả các ô trong trang tính:

nhập mô tả hình ảnh ở đây

  1. Thay đổi định dạng của mọi ô:

nhập mô tả hình ảnh ở đây

Sau khi định dạng tất cả các ô của trang tính thành Text, sau đó tôi có thể nhập CSV bằng các bước sau:

  1. Từ Datatab, bấm From Text:

nhập mô tả hình ảnh ở đây

  1. Chọn bạn .txthoặc .csvtập tin và nhấp vàoImport

  2. Chọn Delimitedvà bấm `Tiếp theo:

nhập mô tả hình ảnh ở đây

  1. Chọn dấu phân cách thích hợp (tôi đã chọn Comma) và bỏ chọn bất kỳ cái nào khác không áp dụng, sau đó bấm Next:

nhập mô tả hình ảnh ở đây

  1. Cuộn sang bên phải để tìm (các) cột cần (các) cột được định dạng như Textđể giữ các số 0 đứng đầu và để ngăn các ký hiệu khoa học. Nhấp vào cột (cần làm tối), sau đó chọn Texttrong danh sách tùy chọn. Hãy chắc chắn chọn tất cả các cột cần được định dạng chính xác:

nhập mô tả hình ảnh ở đây

  1. Sau đó bấm vào Finish. Nếu bạn cuộn đến các cột mà bạn đã định dạng, bạn sẽ thấy rằng tất cả các số 0 đứng đầu được giữ lại và các chuỗi số dài không nằm trong ký hiệu khoa học.

Mong rằng sẽ giúp!


0

Nếu dữ liệu được tạo bằng SQL. Việc thêm một ký tự tab vào giá trị số cần ngăn chặn cắt ngắn sẽ hoạt động.

-- Oracle PL/SQL
select "01234567890123456" || chr(9) from dual;
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.