Lỗi khi tách cột

Liên hệ QC

cuonghoa176

Hỏi nhiều
Tham gia
31/1/11
Bài viết
169
Được thích
23
Giới tính
Nam
Nghề nghiệp
Giáo viên THCS
Em gặp lỗi định dạng số khi tách chuỗi thành cột sau kí tự "/",nhờ các bác xem giúp!..
 

File đính kèm

  • LỖI KHI TÁCH CỘT.xlsx
    11.9 KB · Đọc: 17
Kết quả thì đúng rồi nhưng bác Tuấn chỉ em cách làm với, file của em dài lắm..cảm ơn bác..!
 
Kết quả thì đúng rồi nhưng bác Tuấn chỉ em cách làm với, file của em dài lắm..cảm ơn bác..!
Giả sử dữ liệu cần tách tại ô A2:
B2=TRIM(MID(SUBSTITUTE($A2,"/",REPT(" ",500)),(COLUMN(A1)-1)*500+1,500))
Kéo sang phải, rồi kéo xuống dưới đến dòng cuối có dữ liệu.
 
Em gặp lỗi định dạng số khi tách chuỗi thành cột sau kí tự "/",nhờ các bác xem giúp!..
Để tách dữ liệu, thực hiện tuần tự các bước như sau:
- Chọn A3: A31, trên Ribbon vào Data > Test to Columns
- Cửa sổ Step 1 of 3 hiện ra thì chọn Delimited và nhấn Next.
- Cửa sổ Step 2 of 3 hiện ra thì đánh dấu chọn Other rồi vào khung bên phải gõ dấu /
và nhấn Next (hình 1).
- Cửa sổ Step 3 of 3 hiện ra thì chọn General rồi click vào khung Destination rồi click chọn Cell B3 xong nhấn Finish (hình 2).

Hình 1 ........................................................................................................................................................................................ Hình 2
A_H1.JPGA_H2.JPG
 
Lần chỉnh sửa cuối:
Để tách dữ liệu, thực hiện tuần tự các bước như sau:
- Chọn A3: A31, trên Ribbon vào Data > Test to Columns
- Cửa sổ Step 1 of 3 hiện ra thì chọn Delimited và nhấn Next.
- Cửa sổ Step 2 of 3 hiện ra thì đánh dấu chọn Other rồi vào khung bên phải gõ dấu /
và nhấn Next (hình 1).
- Cửa sổ Step 3 of 3 hiện ra thì chọn General rồi click vào khung Destination rồi click chọn Cell B3 xong nhấn Finish (hình 2).
...
Theo tôi hiểu vấn đề ở bài #1 thì thớt đã biết cách tách theo ký tự "/".
Vấn đề còn lại là số ra không đúng độ lớn. Số 48.4704 (đơn vị lớn nhất là chục: 40) tách ra trở thành số 484704 (đơn vị lớn nhất là trăm ngàn: 400000)
Lý do: máy của thớt định dấu chấm là ngăn cách phần ngàn. Và Excel bị rối khi gặp số dạng như ví dụ trên.

Để khắc phục:
Sau khi chọn $NB$1 ròi thì chọn cột cuối (như hình)
1598861288780.png

Chọn Advanced... > Chọn Decimal separator là dấu chấm, Thousands separator là dấu phẩy > OK
1598861401009.png

Chú: nếu ra vẫn như cũ thì thử lại, chọn ngược lại Decimal separator là dấu phẩy, Thousands separator là dấu chấm
 
Lần chỉnh sửa cuối:
Theo tôi hiểu vấn đề ở bài #1 thì thớt đã biết cách tách theo ký tự "/".
Vấn đề còn lại là số ra không đúng độ lớn. Số 48.4704 (đơn vị lớn nhất là chục: 40) tách ra trở thành số 484704 (đơn vị lớn nhất là trăm ngàn: 400000)
Lý do: máy của thớt định dấu chấm là ngăn cách phần ngàn. Và Excel bị rối khi gặp số dạng như ví dụ trên.

Để khắc phục:
Sau khi chọn $NB$1 ròi thì chọn cột cuối (như hình)
View attachment 244557

Chọn Advanced... > Chọn Decimal separator là dấu chấm, Thousands separator là dấu phẩy > OK
View attachment 244560

Chú: nếu ra vẫn như cũ thì thử lại, chọn ngược lại Decimal separator là dấu phẩy, Thousands separator là dấu chấm
Tôi làm trên máy tôi thì như sau...

Ta có:
A3 = .../76.23
A4 = .../0.2723
A5 = .../40.55
A6 = .../48.4704

Tôi chọn Vietnamese trong Control Panel với dấu phẩy là dấu thập phân và dấu chấm phân cách hàng ngàn. Sau khi làm theo bài #7 thì nhìn ở cột D thấy:
D3 = 76.23
D4 = 0.2723
D5 = 40.55
D6 = 484.704

Nhưng thực ra giá trị thực là (Nhìn lên thanh công thức):
D6 = 484704.

Một giá trị là số nguyên dương có 6 chữ số thì dù Text to Columns như thế nào thì giá trị vẫn sẽ là nguyên dương. Vì làm sao Excel có thể đoán là phải cho dấu phẩy sau chữ số 8 khi mà nó nhận được đầu vào là số nguyên dương có 6 chữ số? Để giết thời gian tôi làm thêm như bác chỉ dẫn thì vẫn thế: Nhìn vào D6 thì thấy 484.704, nhưng trên thanh công thức giá trị thực tế là 484704.

loi.jpg

Trong trường hợp này thì tôi làm như sau:
1. Chọn cột A -> Home -> Find & Select -> Replace -> nhập dấu chấm "." (có trong cột A sau "/") vào "Find what", dấu phẩy "," (dấu thập phân trong CP) vào "Replace with" -> Replace All
2. Bây giờ làm như bài #7. Sau bước 1 ta có A6 = .../48,4704. Khi làm bước 2 thì ta có ngay số 48,4704
 
Tôi làm trên máy tôi thì như sau...

Ta có:
A3 = .../76.23
A4 = .../0.2723
A5 = .../40.55
A6 = .../48.4704

Tôi chọn Vietnamese trong Control Panel với dấu phẩy là dấu thập phân và dấu chấm phân cách hàng ngàn. Sau khi làm theo bài #7 thì nhìn ở cột D thấy:
D3 = 76.23
D4 = 0.2723
D5 = 40.55
D6 = 484.704

Nhưng thực ra giá trị thực là (Nhìn lên thanh công thức):
D6 = 484704.

Một giá trị là số nguyên dương có 6 chữ số thì dù Text to Columns như thế nào thì giá trị vẫn sẽ là nguyên dương. Vì làm sao Excel có thể đoán là phải cho dấu phẩy sau chữ số 8 khi mà nó nhận được đầu vào là số nguyên dương có 6 chữ số? Để giết thời gian tôi làm thêm như bác chỉ dẫn thì vẫn thế: Nhìn vào D6 thì thấy 484.704, nhưng trên thanh công thức giá trị thực tế là 484704.

View attachment 244581

Trong trường hợp này thì tôi làm như sau:
1. Chọn cột A -> Home -> Find & Select -> Replace -> nhập dấu chấm "." (có trong cột A sau "/") vào "Find what", dấu phẩy "," (dấu thập phân trong CP) vào "Replace with" -> Replace All
2. Bây giờ làm như bài #7. Sau bước 1 ta có A6 = .../48,4704. Khi làm bước 2 thì ta có ngay số 48,4704
Máy của tôi định dạng số theo Mẽo cho nên tôi làm ngược lại bác. Tôi đổi dấu "." trogn dữ liệu ban đầu thành "," rồi làm theo phần chú trong bài #8.
Kết quả:
1598872374678.png

Máy tôi đổi kiểu định dạng số hơi khó nên tôi chưa thử kiểu của bác.
 
Trên máy tôi làm như bài 7 là có kết quả luôn.

A_B.JPG
 
Trên máy tôi làm như bài 7 là có kết quả luôn.
Trời, viết thế mà vẫn không hiểu sao?

Mấu chốt nó ở chỗ "máy" mà. Tức tùy thiết lập trên máy hiện hành mà có kết quả luôn hay không luôn:
1. Nếu trong CP dấu chấm là dấu thập phân thì làm theo bài #7 có kết quả luôn.

2. Nếu trong CP dấu phẩy là dấu thập phân thì làm theo bài #7 không có kết quả luôn. Phải vd.:
- dùng Replace thay "." thành "," trong cột A.
- làm theo bài #7

Lúc đó mới có kết quả.
 
Bài #7 tùy máy là đương nhiên, bài #8 mới chuẩn.
 
Tôi làm trên máy tôi thì như sau...

Ta có:
A3 = .../76.23
A4 = .../0.2723
A5 = .../40.55
A6 = .../48.4704

Tôi chọn Vietnamese trong Control Panel với dấu phẩy là dấu thập phân và dấu chấm phân cách hàng ngàn. Sau khi làm theo bài #7 thì nhìn ở cột D thấy:
D3 = 76.23
D4 = 0.2723
D5 = 40.55
D6 = 484.704

Nhưng thực ra giá trị thực là (Nhìn lên thanh công thức):
D6 = 484704.

Một giá trị là số nguyên dương có 6 chữ số thì dù Text to Columns như thế nào thì giá trị vẫn sẽ là nguyên dương. Vì làm sao Excel có thể đoán là phải cho dấu phẩy sau chữ số 8 khi mà nó nhận được đầu vào là số nguyên dương có 6 chữ số? Để giết thời gian tôi làm thêm như bác chỉ dẫn thì vẫn thế: Nhìn vào D6 thì thấy 484.704, nhưng trên thanh công thức giá trị thực tế là 484704.
...
. Cập nhật tin tức:

Tôi đã thử sửa máy tôi thành, tức là định dạng số kiểu Âu châu lục địa (phân biệt với Anh):
1598928753166.png

Và sau khi làm như bài #8, tức là:
1598928673862.png

Thì tôi được như sau (số liệu chính xác như mong muốn):
1598928104115.png

Chú ý: như tôi đã nêu ra ở bài #8, nếu máy định dạng kiểu Âu mà làm như bài #7 là còn thiếu sót. Số sẽ không ra đúng. Và đó là chỗ mà tôi nghĩ là thớt bị vướng mắc ở bài #1.
 
Web KT
Back
Top Bottom