??? Có cách nào tính tổng số trong một cột có số lẫn chữ?

Liên hệ QC

pvt123st

Thành viên mới
Tham gia
11/1/11
Bài viết
4
Được thích
0
??? Nhờ bạn bè giúp: Có cách nào tính tổng số trong ô của một cột có số lẫn chữ? vd: cột A có các ô:
A2: 2
A3: 3
A4: 1b
A5: 14b
A6: tính tổng số trông ô từ ô A2:A5 = 20
Ghi chú: trong các ô số, có ô thì có số và chữ "b".
Chú ý: ko được dùng macro vba. Vì khi copy sang máy khác là bị lỗi.
Mình nghĩ ntn có đc ko?: ta sẽ tạo thêm một cột chuyển đổi, dùng hàm chuyển chữ "b" thành dấu ".0" . Vd: 1b đổi thành 1.0. Thì ta sẽ tính được tổng số.
 
Lần chỉnh sửa cuối:
??? Nhờ bạn bè giúp: Có cách nào tính tổng số trong ô của một cột có số lẫn chữ? vd: cột A có các ô:
A2: 2
A3: 3
A4: 1b
A5: 14b
A6: tính tổng số trông ô từ ô A2:A5 = 20
Các ký tự chữ có giới hạn không hay tùy ý? chỉ mỗi b thôi, hoặc a,b,c thôi , hay là bất kỳ.
Tôi nghĩ có lẽ là giới hạn một vài ký tự nào đó. Nên đính kèm file, nhiều dữ liệu lên để mọi người có thể nhìn nhận vấn đề dễ hơn
 
Các ký tự chữ có giới hạn không hay tùy ý? chỉ mỗi b thôi, hoặc a,b,c thôi , hay là bất kỳ.
Tôi nghĩ có lẽ là giới hạn một vài ký tự nào đó. Nên đính kèm file, nhiều dữ liệu lên để mọi người có thể nhìn nhận vấn đề dễ hơn

Hỏi bài thế mới tò mò, mới khó chịu chứ. Nếu nêu hết ra thì lấy gì vui. :p
 
Các ký tự chữ có giới hạn không hay tùy ý? chỉ mỗi b thôi, hoặc a,b,c thôi , hay là bất kỳ.
Tôi nghĩ có lẽ là giới hạn một vài ký tự nào đó. Nên đính kèm file, nhiều dữ liệu lên để mọi người có thể nhìn nhận vấn đề dễ hơn
Ghi chú: trong các ô số, có ô thì có số và chữ "b".
 
??? Nhờ bạn bè giúp: Có cách nào tính tổng số trong ô của một cột có số lẫn chữ? vd: cột A có các ô:
A2: 2
A3: 3
A4: 1b
A5: 14b
A6: tính tổng số trông ô từ ô A2:A5 = 20
Ghi chú: trong các ô số, có ô thì có số và chữ "b".
Thử cái này chơi.
Mã:
Function tinhtong(ByVal mang As range) As Double
        Dim T, Reg As Object, so As Long
        Set Reg = CreateObject("VBScript.RegExp")
            Reg.Global = True
            Reg.Pattern = "\D"
        For Each T In mang
            so = so + CLng(Reg.Replace(T, ""))
         Next
         Set Reg = Nothing
         tinhtong = so
End Function
Mã:
=tinhtong(A1:A5)
 
Ghi chú: trong các ô số, có ô thì có số và chữ "b".
Đấy, thế có phải mọi việc nó nhẹ nhàng hơn không:
Mã:
=SUMPRODUCT(--SUBSTITUTE(A2:A5,"b",""))
Bài đã được tự động gộp:

Thử cái này chơi.
Mã:
Function tinhtong(ByVal mang As range) As Double
        Dim T, Reg As Object, so As Long
        Set Reg = CreateObject("VBScript.RegExp")
            Reg.Global = True
            Reg.Pattern = "\D"
        For Each T In mang
            so = so + CLng(Reg.Replace(T, ""))
         Next
         Set Reg = Nothing
         tinhtong = so
End Function
Mã:
=tinhtong(A1:A5)
Không phải 14b mà 1.4b là chết chắc bác ưi :D
 
Lần chỉnh sửa cuối:
Nếu office 365 thì có công thức này để tách, tách xong rồi sum lại..
Sợ copy sang file khác lỗi thì trước khi cop bạn chuyển nó thành value được không?
=TEXTJOIN("", TRUE, IFERROR(MID(A1, ROW(INDIRECT( "1:"&LEN(A1))), 1) *1, ""))

1664870413924.png
 
Cảm ơn các bạn nhiều. Mình đã làm theo đúng hướng dẫn của các bạn và đã thành công.
 
Nếu office 365 thì có công thức này để tách, tách xong rồi sum lại..
Sợ copy sang file khác lỗi thì trước khi cop bạn chuyển nó thành value được không?
=TEXTJOIN("", TRUE, IFERROR(MID(A1, ROW(INDIRECT( "1:"&LEN(A1))), 1) *1, ""))

View attachment 281688
Không cần 365, thay đổi công thức trong excel vẫn đạt kết quả
Mã:
=MID(A1,1,COUNT(1*MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)))
1664935549048.png
 
Không cần 365, thay đổi công thức trong excel vẫn đạt kết quả
Mã:
=MID(A1,1,COUNT(1*MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)))
View attachment 281717
Em phải test ngay công thức của bác, nhưng nếu số nằm phía sau ký tự đặc biệt hoặc chữ thì nó không tách dc đâu, textjoin thì tách dc. Trước khi dùng Office 365 em đào google tìm công thức rồi mà vẫn toàn phải add function để tách số.

1664937636962.png
 

File đính kèm

  • 1664937340831.png
    1664937340831.png
    9.4 KB · Đọc: 4
Em phải test ngay công thức của bác, nhưng nếu số nằm phía sau ký tự đặc biệt hoặc chữ thì nó không tách dc đâu, textjoin thì tách dc. Trước khi dùng Office 365 em đào google tìm công thức rồi mà vẫn toàn phải add function để tách số.

View attachment 281721
Phức tạp lắm, số nằm bên phải chuỗi, bên trái chuỗi, bên trong chuỗi. phải lựa
Mã:
=LOOKUP(9E+307,--MID(A1,MIN(FIND({0;1;2;3;4;5;6;7;8;9},A1&1234567890)),ROW(INDIRECT("1:"&LEN(A1)))))
1664943680049.png
Xem có hợp yêu cầu của bạn không
 
Web KT
Back
Top Bottom