CÁch tính tổng các số trong một số!

Liên hệ QC
Thầy ơi!
E đã add đoạn code trên vào Visual basic và sử dụng hàm" fGpe" theo hướng dẫn của thầy nhưng vẫn không ra kết quả ạ. Thầy xem lại giúp e với ạ!
E hỏi thêm nữa là trên Google trang tính có add được code vào không ạ?
E cảm ơn nhiều!View attachment 219689View attachment 219690View attachment 219691
Bạn chỉnh công thức:
Mã:
Sửa =fGpe(A1;"-") thành =fGpe(A1,"-")
File lưu dạng .xlsm là được
 

File đính kèm

  • Book1.xlsm
    13.3 KB · Đọc: 8
Em cảm ơn nhiều ạ!
Anh cho e hỏi chút về cách chèn code vào google trang tính được không ạ?
Google sheets có thể chạy macro nhưng là ngôn ngữ google app scrit vì thế không thể áp dụng đoạn code trên cho google sheets bạn nhé
bạn chờ anh chị khác đi ngang rành về ngôn ngư này sẽ giúp bạn.
 
Google sheets có thể chạy macro nhưng là ngôn ngữ google app scrit vì thế không thể áp dụng đoạn code trên cho google sheets bạn nhé
bạn chờ anh chị khác đi ngang rành về ngôn ngư này sẽ giúp bạn.

Dạ vâng! Em cảm ơn ạ!
Bài đã được tự động gộp:

PHP:
Public Function fGpe(ByVal Txt As String, Byval Deli As String) As String
Dim j As Long, N As Long, Tmp
    Tmp = Split(Txt, Deli)
    N = Tmp(0)
    fGpe = N
If UBound(Tmp) > 0 Then
    For j = 1 To UBound(Tmp)
        N = N + Tmp(j)
        fGpe = fGpe & Deli & N
    Next j
End If
End Function
A1= '1-2-3-4-5-6-7-8-9
PHP:
B1= fGpe(A1;"-")

Em cảm ơn nhiều ạ!
Thầy cho e hỏi thêm chút nữa nữa là trên Google trang tính có add được code vào không ạ?
 
Dạ vâng! Em cảm ơn ạ!
Bài đã được tự động gộp:



Em cảm ơn nhiều ạ!
Thầy cho e hỏi thêm chút nữa nữa là trên Google trang tính có add được code vào không ạ?
Tôi chưa dùng Google trang tính gì đó lần nào, nhưng có lẽ không sử dụng VBA của Excel được.
Có thành viên @yeudoi ở Miền Trung chuyên về cái này.
 
Code cho Google Sheet:

/**
Hàm cộng các chữ số của 1 số
*/
function CongTongChuSo(input) {
var tong = 0, boDonVi= input;
while ((input = boDonVi) > 0) {
boDonVi= Math.floor(input/10);
tong += input - boDonVi*10;
}
return tong;
}

/**
Hàm cộng dồn từng đoạn của dãy số
*/
function CongDonDaySo(input) {
var a = input.split("-");
for (var i=1; i < a.length; i++) a = Number(a) + Number(a[i-1]);
return a.join("-");
}

Tôi chỉ code đến vậy thôi. Muốn hỏi gì thêm thì nhớ 2 điều:
1. tôi không nói chuyện nửa Tây nửa Việt
2. tôi không nói chuyện viết tắt. Điển hình, từ "e" đối với kiến thức Việt ngữ của tôi thì có nghĩa là "ngại"
 
Code cho Google Sheet:

/**
Hàm cộng các chữ số của 1 số
*/
function CongTongChuSo(input) {
var tong = 0, boDonVi= input;
while ((input = boDonVi) > 0) {
boDonVi= Math.floor(input/10);
tong += input - boDonVi*10;
}
return tong;
}

/**
Hàm cộng dồn từng đoạn của dãy số
*/
function CongDonDaySo(input) {
var a = input.split("-");
for (var i=1; i < a.length; i++) a = Number(a) + Number(a[i-1]);
return a.join("-");
}

Tôi chỉ code đến vậy thôi. Muốn hỏi gì thêm thì nhớ 2 điều:
1. tôi không nói chuyện nửa Tây nửa Việt
2. tôi không nói chuyện viết tắt. Điển hình, từ "e" đối với kiến thức Việt ngữ của tôi thì có nghĩa là "ngại"

Dạ vâng! Em cảm ơn nhiều ạ!
 
Code cho Google Sheet:

/**
Hàm cộng các chữ số của 1 số
*/
function CongTongChuSo(input) {
var tong = 0, boDonVi= input;
while ((input = boDonVi) > 0) {
boDonVi= Math.floor(input/10);
tong += input - boDonVi*10;
}
return tong;
}

/**
Hàm cộng dồn từng đoạn của dãy số
*/
function CongDonDaySo(input) {
var a = input.split("-");
for (var i=1; i < a.length; i++) a = Number(a) + Number(a[i-1]);
return a.join("-");
}

Tôi chỉ code đến vậy thôi. Muốn hỏi gì thêm thì nhớ 2 điều:
1. tôi không nói chuyện nửa Tây nửa Việt
2. tôi không nói chuyện viết tắt. Điển hình, từ "e" đối với kiến thức Việt ngữ của tôi thì có nghĩa là "ngại"

Phiền anh cho em hỏi thêm chút
Ví dụ:
Hàm cộng dồn từng đoạn của dãy số
*/
function CongDonDaySo(input) {
var a = input.split("-");
for (var i=1; i < a.length; i++) a = Number(a) + Number(a[i-1]);
return a.join("-");
}

Sau khi thêm vào phần "công cụ"--> "chỉnh sửa tập lệnh" rồi thì hàm viết trên ô của trang tính là gì để ra kết quả ạ?
Ví dụ: A1= 1-3-4-2-5 thì sau khi viết hàm vào ô cộng dồn sẽ ra kết quả là 1-4-8-10-15

Em cảm ơn nhiều!
 
...Sau khi thêm vào phần "công cụ"--> "chỉnh sửa tập lệnh" rồi thì hàm viết trên ô của trang tính là gì để ra kết quả ạ?
Ví dụ: A1= 1-3-4-2-5 thì sau khi viết hàm vào ô cộng dồn sẽ ra kết quả là 1-4-8-10-15
=CongDonDaySo(A1)
 
Ô A1 có cái gì đó mà hàm split trong code không hoạt động được.
Thử cái này trong B1:
=CongDonDaySo("5-1-2-6-8-1-1-1-3-1")
Kết quả:
5-6-8-14-22-23-24-25-28-29
 
Chịu thua. Tôi thử chả thấy vấn đề gì.
 
Bỏ javascript lâu quá rồi, nên chịu thua. Lười ;)
 
Dạ vâng! Em cảm ơn ạ!
Bài đã được tự động gộp:



Em cảm ơn nhiều ạ!
Thầy cho e hỏi thêm chút nữa nữa là trên Google trang tính có add được code vào không ạ?
Google sheets không sử dụng được VBA nha Bạn. Nếu bài bạn thì không cần Code vẫn có thể làm được. Bạn có thể vào Box Google spreadsheet để hỏi tiếp nha.
 
Google sheets không sử dụng được VBA nha Bạn. Nếu bài bạn thì không cần Code vẫn có thể làm được. Bạn có thể vào Box Google spreadsheet để hỏi tiếp nha.
Code kia là viết cho custom function của Google sheets.
Người hỏi hiển nhiên là có biết cách dùng code này. Chỉ là cái giao diện tiếng Việt cho nên tôi không rõ nó có vấn đề gì ở đây không.
 
Google sheets không sử dụng được VBA nha Bạn. Nếu bài bạn thì không cần Code vẫn có thể làm được. Bạn có thể vào Box Google spreadsheet để hỏi tiếp nha.

Dạ vâng! Em cảm ơn ạ!
Bài đã được tự động gộp:

Code kia là viết cho custom function của Google sheets.
Người hỏi hiển nhiên là có biết cách dùng code này. Chỉ là cái giao diện tiếng Việt cho nên tôi không rõ nó có vấn đề gì ở đây không.

Dạ vâng! Em cảm ơn ạ!
 
Google sheets không sử dụng được VBA nha Bạn.
Nhìn code thì đâu có là code VBA?

Bác VetMini đang nói tới cái khác. Trong trình của tôi thì menu nó là tiếng Ba Lan nên tôi thử dịch. Mở tập tin -> menu Tools -> chọn Editor Script -> dán code.

@tuantran10391: bạn sửa

a = Number(a) + Number(a[i-1]);

thành
Mã:
a[i] = Number(a[i]) + Number(a[i-1]);
Tức phải có
Mã:
function CongDonDaySo(input) {
var a = input.split("-");
for (var i=1; i < a.length; i++) a[i] = Number(a[i]) + Number(a[i-1]);
return a.join("-");
}
 
Web KT
Back
Top Bottom