Chuyển dữ liệu thành số (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

lethanhqs

Thành viên mới
Tham gia
16/9/10
Bài viết
15
Được thích
4
Mình có 1 file ( đính kèm ) muốn thực hiện lệnh sum nhưng dữ liệu không ở kiếu số. Đã dùng các PP cơ bản đã có trên diễn đàn nhưng không được . Không biết dữ kiệu đang ở kiểu gì nữa ? Nhờ các bạn giúp (ở cột so tien giao dich ). xin cám ơn
 

File đính kèm

Mình có 1 file ( đính kèm ) muốn thực hiện lệnh sum nhưng dữ liệu không ở kiếu số. Đã dùng các PP cơ bản đã có trên diễn đàn nhưng không được . Không biết dữ kiệu đang ở kiểu gì nữa ? Nhờ các bạn giúp (ở cột so tien giao dich ). xin cám ơn
Coppy cột rỗng (ví dụ cột G), Paste Spectial cột cần chuyển (ví dụ cột F) > Add > Ok để chuyển sang định dạng số.
gpe1.JPG
 
Mình nói rõ hơn : Trước đây một số dữ liệu chứa mã khoảng trắng mình phải dùng hàm =substitute(f5;Char(160);"")*1 - f5 là ví dụ 1 cel thì được nhưng dữ liệu này không làm được. ( các dữ liệu này lấy trên các phần mềm của các công ty truy cập qua web nên dữ liệu nó lung tung lắm không biết ở kiểu gì nữa)
 
Nếu sum không được thì dùng =SUMPRODUCT(--F5:F83)
 
Tất cả các hàm dạng text (như substitute, right, left, . . .) đều trả về giá trị là dạng text --> nếu ở dạng text thì không thể dùng hàm toán học được --> phải trả về đúng định dạng số thì mới SUM được
Tại vị trí ô F84 bạn gỗ công thức: ={SUM(VALUE($F$5:$F$83))} (sau khi gõ xong, nhấn Ctrl+Shift+Enter)
 
Mình nói rõ hơn : Trước đây một số dữ liệu chứa mã khoảng trắng mình phải dùng hàm =substitute(f5;Char(160);"")*1 - f5 là ví dụ 1 cel thì được nhưng dữ liệu này không làm được. ( các dữ liệu này lấy trên các phần mềm của các công ty truy cập qua web nên dữ liệu nó lung tung lắm không biết ở kiểu gì nữa)
Thử bằng hàm mảng này xem
F84=SUM(SUBSTITUTE(LEFT(F5:F83;LEN(F5:F83)-3);",";"")*1) Ctrl+Shift+Enter
 

File đính kèm

Lần chỉnh sửa cuối:
Cám ơn Ba tê rất nhiều ! Có thể giải thích giúp mình tại sao không ?
 
Các giải pháp các bác đưa ra đều rất hay, nhưng em nghĩ cách tuyệt đối nhất là chuyển toàn bộ dữ liệu gốc thành số, rồi tính toán bình thường thì tốt hơn.
 
Các giải pháp các bác đưa ra đều rất hay, nhưng em nghĩ cách tuyệt đối nhất là chuyển toàn bộ dữ liệu gốc thành số, rồi tính toán bình thường thì tốt hơn.

Ủng hộ cách này
Nhưng trước tiên người dùng phải biết thiết lập các thứ trong control panel rồi mới nói chuyện (chẳng hạn thiết lập dấu phân cách)
Biết rồi thì chỉ cần công cụ Find and Replace cũng đủ giải quyết
 
Mình cũng rất muốn như vậy nhưng không biết làm bằng cách nào ?
 
Ý mình là bác giải thích giùm cái hàm của bác một chút, mình thấy hình như bác dùng thay thế cái dấu "," thành "". Bác loại bỏ luôn cái phần .00 . Nhưng mình không hiểu tại sao ?
Thế này nhé: Dữ liệu của bạn không có phần thập phân, vậy thì phần ".00" là vô nghĩa rùi, để nó làm gì cho tốn chỗ. Cái nữa: Trong tiêu chuẩn VN thì dấu phân cách hàng giữa hàng trăm và hàng nghìn, giữa hàng trăm nghìn và hàng triệu, giữa hàng trăm triệu và hàng tỷ.... là dấu "." nên cần thay thế dấu "," đi, không thì dữ liệu vẫn là text thôi. Sau khi bỏ dấu "," thì nó trở thành số, lúc đó mới cộng được. Một điều nữa: Để số định dạng theo đúng tiêu chuẩn VN thì bạn cần thay đổi trong Control Panel: Vào Control Panel --->Regional an language options --> Customize ---> Trong thẻ Number: Chuyển Decimal symbol thành dấu "," (đó là dấu phân cách phần nguyên và phần thập phân hay còn gọi là dấu thập phân), chuyển Digit Grouping symbol thành dấu "." (gọi là dấu nhóm số).
 
Lần chỉnh sửa cuối:
Ý mình là bác giải thích giùm cái hàm của bác một chút, mình thấy hình như bác dùng thay thế cái dấu "," thành "". Bác loại bỏ luôn cái phần .00 . Nhưng mình không hiểu tại sao ?
Còn 1 cách làm này nữa, chẳng cần hàm gì cả. Bạn vào Control Panel, chỉnh như trên, có điều để dấu nhóm là dấu ",", dấu thập phân là dấu ".", sau đó mở file lên, ấn F2 và enter cho từng dòng. Khi đó tự động dữ liệu của bạn chuyển thành số. Sau khi chuyển hết rùi thì bạn chỉnh lại trong control panel dấu nhóm số thành dấu ".", dấu thập phân thành dấu "," là xong thôi. Nếu nhiều dữ liệu quá thì bạn bôi đen chọn vùng dữ liệu rồi chạy đoạn code sau:
PHP:
Sub Code_F2()
Dim Cll As Range
For Each Cll In Selection
Cll.Select
SendKeys "{F2}"
Next
End Sub
 
Lần chỉnh sửa cuối:
Web KT

Bài viết mới nhất

Back
Top Bottom