Hỏi - Tính tổng theo từng loại tiền tệ, đọc thành chữ từng cái, rồi nối lại (1 người xem)

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

pearlymy

Thành viên mới
Tham gia
5/12/08
Bài viết
38
Được thích
1
Em chào các anh chị
Nói chung em cũng k biết nói sao, vò đầu bứt tóc miết, làm ra được cái công thức mà cuối cùng đem qua máy cơ quan excel 2003 thì lỗi formula too long
Nói ra để các anh chị biết đc nỗi khổ của em, công thức của em tạo ra đại loại nó vầy:
'"Tại thời điểm "&TEXT(giolapsodu,"hh")&" giờ "&TEXT(MINUTE(giolapsodu),"00")&" phút, ngày "&TEXT(ngaylapsodu,"dd/mm/yyyy")&", số dư của khách hàng "&HoTenBalance&" tại ... là "&GPE(K29:OFFSET(R29,quantity-1,0))&" (Bằng chữ: "&SUBSTITUTE(VND(SUMIF(R29:OFFSET(R29,quantity-1,0),R29,K29:OFFSET(Q29,quantity-1,0))),"đồng.",R29)&IF(AND(COUNTIF(R29:OFFSET(U29,quantity-1,0),"VND"),"VND"<>R29),"; "&SUBSTITUTE(VND(SUMIF(R29:OFFSET(R29,quantity-1,0),"VND",K29:OFFSET(Q29,quantity-1,0))),"đồng.","VND"),"")&IF(AND(COUNTIF(R29:OFFSET(U29,quantity-1,0),"USD"),"USD"<>R29),"; "&SUBSTITUTE(VND(SUMIF(R29:OFFSET(R29,quantity-1,0),"USD",K29:OFFSET(Q29,quantity-1,0))),"đồng.","USD"),"")&IF(AND(COUNTIF(R29:OFFSET(U29,quantity-1,0),"EUR"),"EUR"<>R29),"; "&SUBSTITUTE(VND(SUMIF(R29:OFFSET(R29,quantity-1,0),"EUR",K29:OFFSET(Q29,quantity-1,0))),"đồng.","EUR"),"")&IF(AND(COUNTIF(R29:OFFSET(U29,quantity-1,0),"CAD"),"CAD"<>R29),"; "&SUBSTITUTE(VND(SUMIF(R29:OFFSET(R29,quantity-1,0),"CAD",K29:OFFSET(Q29,quantity-1,0))),"đồng.","CAD"),"")&IF(AND(COUNTIF(R29:OFFSET(U29,quantity-1,0),"AUD"),"AUD"<>R29),"; "&SUBSTITUTE(VND(SUMIF(R29:OFFSET(R29,quantity-1,0),"AUD",K29:OFFSET(Q29,quantity-1,0))),"đồng.","AUD"),"")&")."

Nay xin các anh giúp em với, em hết cách rồi.

Ở cột A là số tiền, cột C (cột thứ 3 tính từ cột A -có thể là 1 cột bất kỳ, k cố định là cột C) là loại tiền tệ
Xin các anh chị giúp em làm cái công thức kiểu như =CURSUM(vùng,cột_mã_tiền_tệ) thì nó tự động tính tổng theo từng loại tiền tệ rồi nối lại với nhau
ví dụ: CURSUM(B2:D9,3)
Kết quả: 10,000 VND; 20,000 USD; 30,000 AUD; 40,000 EUR; 50,000 CAD; 60,000 GPB; 70,000 YEN

Tương tự như trên, công thức =CURSUMS(vùng,cột_mã_tiền_tệ) thì nó tự động tính tổng theo từng loại tiền tệ, đọc thành chữ, rồi nối lại với nhau
ví dụ:
CURSUMS(B2:D9,3)
Kết quả:
Mười ngàn đồng; Hai mươi ngàn đô la Mỹ; Ba mươi ngàn đô la Úc; Bốn mươi ngàn Âu kim; Năm mươi ngàn đô la Canada; Sáu mươi ngàn bảng Anh; Bảy mươi ngàn yên Nhật
(nếu để cái kia không khả thi thì cái này cũng được ạ: Mười ngàn VND; Hai mươi ngàn USD; Ba mươi ngàn AUD; Bốn mươi ngàn EUR; Năm mươi ngàn CAD; Sáu mươi ngàn GPB; Bảy mươi ngàn YEN)

Em xin chân thành cảm ơn.
 

File đính kèm

Công thức của bạn phức tạp và rối quá. và tôi thấy nó cũng không có tính động (chẳng hạn như khi xuất hiện một mã tiền tệ mới nó cũng chẳng cập nhật được?), theo tôi bạn lên bố trí lại bảng dữ liệu của mình, sau đó sử dụng hàm sumif kết hợp với hàm đọc số thành chữ rồi nối các kết quả lại, như vậy sẽ đơn giản hơn nhiều so với cái công thức loằng ngoằng kia, rất khó kiểm soát (còn rất nhiều cách khác nữa mà)
 
hic,tại xài nhiều trên nhiều worksheet, nên em muốn nhờ anh chị 1 cái công thức luôn cho tiện
 
hic,tại xài nhiều trên nhiều worksheet, nên em muốn nhờ anh chị 1 cái công thức luôn cho tiện
Bài này nếu muốn làm theo ý bạn chắc phải dùng hàm tự tạo thôi bạn ạ
Trong bài có sử dụng hàm DocSo của bạn Hữu Thắng
Thân
 

File đính kèm

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

Back
Top Bottom