Sử dụng MATCH, INDEX, SUMPRODUCT hay cái gì đây?

Liên hệ QC

lookexceller

Thành viên mới
Tham gia
13/1/09
Bài viết
19
Được thích
2
Mình có vấn đề sau
untitled1.jpg


cột SL trong bảng tính 2 sẽ tính bằng cách tham chiếu giá trị cột STT ở bảng tính 2 đến cột STT ở bảng tính 1 rồi tính tổng của nó. Cụ thể̉ là số/giá trị 12 ở cột STT của bảng tính 2 là sự kết hợp của số/giá trị 1 và 2 ở cột STT của bảng tính 1 , sau đó tính tổng của nó là 100+200. Tương tự số 19 có tổng là 100+900

Và cũng tương tự cho cột TONG ở bảng tính 2

cám ơn nhiều nhiều và có hậu tạ!
 
Mình có vấn đề sau
untitled1.jpg


cột SL trong bảng tính 2 sẽ tính bằng cách tham chiếu giá trị cột STT ở bảng tính 2 đến cột STT ở bảng tính 1 rồi tính tổng của nó. Cụ thể̉ là số/giá trị 12 ở cột STT của bảng tính 2 là sự kết hợp của số/giá trị 1 và 2 ở cột STT của bảng tính 1 , sau đó tính tổng của nó là 100+200. Tương tự số 19 có tổng là 100+900

Và cũng tương tự cho cột TONG ở bảng tính 2

cám ơn nhiều nhiều và có hậu tạ!

Cách tính lạ nhỉ, không biết bạn ứng dụng vào đâu kiểu tính này, bạn xem thử cách dùng hàm LOOKUP và VLOOKUP
 

File đính kèm

  • LOOKUP.rar
    1.5 KB · Đọc: 57
  • VLOOKUP.rar
    1.5 KB · Đọc: 43
Lần chỉnh sửa cuối:
Sử dụng Sumif

Bạn xem thử mình làm côi đúng ý bạn không nhe
 

File đính kèm

  • sumif.xls
    14 KB · Đọc: 52
chào hai bạn

đáp án các bạn đều chính xác! nhưng cả hai đều thiếu ca si mình cần là dòng cuối cùng của bẳng tính 2. Đó là con số 110 là sự kết hợp của 2 sô 1 và 10 tương ứng với số lượng trong cột SL của nó.

Và vấn đè thứ hai là nếu nó 3, 4 , 5 thậm chí là 11 con số thì sao? Ví dụ như: 1210 (1+2+10), 12310 (1+2+3+10).

Lưu ý khi số 0 ở tận cùng, thì trước nó luôn là số 1 và hiểu là số 10. Ngoài ra không bao giờ có con số khác trước con số 0.

Mình đang bí ở chổ này. Còn việc tính từ bao nhiêu con số thì mình đã giải quyết OK. Ví dụ: 235485692 được hiểu là 2+3+5+4+8+5+6+9+2

giúp mình nha các bạn!

tks nhiều nhiều!
 
chào hai bạn

đáp án các bạn đều chính xác! nhưng cả hai đều thiếu ca si mình cần là dòng cuối cùng của bẳng tính 2. Đó là con số 110 là sự kết hợp của 2 sô 1 và 10 tương ứng với số lượng trong cột SL của nó.

Và vấn đè thứ hai là nếu nó 3, 4 , 5 thậm chí là 11 con số thì sao? Ví dụ như: 1210 (1+2+10), 12310 (1+2+3+10).

Lưu ý khi số 0 ở tận cùng, thì trước nó luôn là số 1 và hiểu là số 10. Ngoài ra không bao giờ có con số khác trước con số 0.

Mình đang bí ở chổ này. Còn việc tính từ bao nhiêu con số thì mình đã giải quyết OK. Ví dụ: 235485692 được hiểu là 2+3+5+4+8+5+6+9+2

giúp mình nha các bạn!

tks nhiều nhiều!
Bạn xem file đính kèm nha. Công thức hơi dài nhưng tôi nghĩ có lẽ không có công thức tối ưu hơn cho yêu cầu của bạn đâu. Mà tôi thật sự không hiểu bạn làm cái này nhằm mục đích gì?
 

File đính kèm

  • huuthang_bd.xls
    20 KB · Đọc: 62
bạn xem file đính kèm nha. Công thức hơi dài nhưng tôi nghĩ có lẽ không có công thức tối ưu hơn cho yêu cầu của bạn đâu. Mà tôi thật sự không hiểu bạn làm cái này nhằm mục đích gì?

cám ơn bạn rất nhiều!

Nhìn sơ qua mình thấy là đã đạt yêu cầu! Mình sẽ áp dụng nếu có gì cần thắc mắc hy vọng bạn sủppott tiếp nha!

Về mục đích thì mình áp dụng cho công việc mua bán chứng khoán của mình. Vì không chỉ mua 1 lần mà có thẻ mua nhiều lần, như thế mình sẽ biết được giá bình quân cho các lần khác nhau (cộng lại) khi đó sẽ có quyết định bán hợp lý thôi.

Tks nhiều đó!
 
@huuthang_bd

cám ơn bạn lần nữa công thức bạn hoàn toàn đúng với ý định mình. Rất hoàn hảo!

Tiện đây bạn có thẻ giải thích cho mình biết thêm về công thức của bạn?

Mã:
(LEN(F2)-LEN(SUBSTITUTE(F2,"2","")))*$B$3+
(LEN(F2)-LEN(SUBSTITUTE(F2,"3","")))*$B$4+
(LEN(F2)-LEN(SUBSTITUTE(F2,"4","")))*$B$5+
(LEN(F2)-LEN(SUBSTITUTE(F2,"5","")))*$B$6+
(LEN(F2)-LEN(SUBSTITUTE(F2,"6","")))*$B$7+
(LEN(F2)-LEN(SUBSTITUTE(F2,"7","")))*$B$8+
(LEN(F2)-LEN(SUBSTITUTE(F2,"8","")))*$B$9+
(LEN(F2)-LEN(SUBSTITUTE(F2,"9","")))*$B$10+
(LEN(F2)-LEN(SUBSTITUTE(F2,"0","")))*$B$11+
(LEN(SUBSTITUTE(F2,"0",""))-LEN(SUBSTITUTE(F2,"1","")))*$B$2

Mình có thể hiểu được ý nghĩa của hàm len() và substitute(), ở đây mình muốn hiẻu thêm là sau hàm len() tại sao phải nhân với $B$3 trước mà không phải là $B$2.

Mong được chỉ giáo thêm!
 
@huuthang_db

mình vừa tìm ra thêm một công thức ngắn hơn công thức của bạn. Xin chia sẽ cùng bạn.

Mã:
=SUM(IF(MID(SUBSTITUTE(F2,10,0),{1,2,3,4,5,6,7,8,9,10},1)
    =SUBSTITUTE($A$2:$A$11,10,0),$B$2:$B$11))

Dù sao cũng cám ơn sự nhiệt tình của bạn

mong được chỉ giáo thêm
 
Bài mới không được đưa lên trang chủ với lại tôi nghĩ là vấn đề đã được giải quyết nên không vào xem topic này.
Đầu tiên là câu hỏi của bạn:
@huuthang_bd

cám ơn bạn lần nữa công thức bạn hoàn toàn đúng với ý định mình. Rất hoàn hảo!

Tiện đây bạn có thẻ giải thích cho mình biết thêm về công thức của bạn?

Mã:
(LEN(F2)-LEN(SUBSTITUTE(F2,"2","")))*$B$3+
(LEN(F2)-LEN(SUBSTITUTE(F2,"3","")))*$B$4+
(LEN(F2)-LEN(SUBSTITUTE(F2,"4","")))*$B$5+
(LEN(F2)-LEN(SUBSTITUTE(F2,"5","")))*$B$6+
(LEN(F2)-LEN(SUBSTITUTE(F2,"6","")))*$B$7+
(LEN(F2)-LEN(SUBSTITUTE(F2,"7","")))*$B$8+
(LEN(F2)-LEN(SUBSTITUTE(F2,"8","")))*$B$9+
(LEN(F2)-LEN(SUBSTITUTE(F2,"9","")))*$B$10+
(LEN(F2)-LEN(SUBSTITUTE(F2,"0","")))*$B$11+
(LEN(SUBSTITUTE(F2,"0",""))-LEN(SUBSTITUTE(F2,"1","")))*$B$2
Mình có thể hiểu được ý nghĩa của hàm len() và substitute(), ở đây mình muốn hiẻu thêm là sau hàm len() tại sao phải nhân với $B$3 trước mà không phải là $B$2.

Mong được chỉ giáo thêm!
Vì số 1 dính với số 10 nên tôi để số 1 giải quyết sau cùng thôi. Trong phép cộng có phép hoán vị, bạn muốn đặt các phần tử ở đâu mà chẳng được. Nếu bạn muốn nhân với $B$2 trước thì đưa phần tử cuối cùng lên đầu tiên thôi.
Về cách làm của bạn:
@huuthang_db

mình vừa tìm ra thêm một công thức ngắn hơn công thức của bạn. Xin chia sẽ cùng bạn.

Mã:
=SUM(IF(MID(SUBSTITUTE(F2,10,0),{1,2,3,4,5,6,7,8,9,10},1)
    =SUBSTITUTE($A$2:$A$11,10,0),$B$2:$B$11))
Dù sao cũng cám ơn sự nhiệt tình của bạn

mong được chỉ giáo thêm
Bạn thử nhập vào một dãy số có hơn 10 chữ số, so sánh hai kết quả bạn sẽ thấy sự khác biệt.
Còn nếu bạn muốn có công thức ngắn hơn thì đây:
Mã:
=SUMPRODUCT((LEN(SUBSTITUTE(F2,10,0))-LEN(SUBSTITUTE(SUBSTITUTE(F2,10,0),{"1";"2";"3";"4";"5";"6";"7";"8";"9";"0"},""))),$B$2:$B$11)
Cũng trên thuật toán cũ của tôi nhưng do sử dụng Sumproduct nên công thức ngắn hơn.
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom