Chuyên mục GIẢI THÍCH CÔNG THỨC

  • Thread starter Thread starter BNTT
  • Ngày gửi Ngày gửi
Liên hệ QC
Sao em viết công thức thế này nhưng không biết lỗi tại đâu, xin sửa dùm giúp em
PHP:
=SUMPRODUCT(INDIRECT("Sheet"&ROW(1:3)&"!A1")*ROW(INDIRECT("1:3")))

-------
Trong khi đó công thức
PHP:
=SUMPRODUCT(ROW(INDIRECT("1:3"))*ROW(INDIRECT("1:3")))
này có cùng bản chất với công thức trên sao lại ra kết quả (=14) được nhỉ?
 

File đính kèm

Lần chỉnh sửa cuối:
Sao em viết công thức thế này nhưng không biết lỗi tại đâu, xin sửa dùm giúp em
PHP:
=SUMPRODUCT(INDIRECT("Sheet"&ROW(1:3)&"!A1")*ROW(INDIRECT("1:3")))

-------
Trong khi đó công thức
PHP:
=SUMPRODUCT(ROW(INDIRECT("1:3"))*ROW(INDIRECT("1:3")))
này có cùng bản chất với công thức trên sao lại ra kết quả (=14) được nhỉ?
Bạn nhân thêm ROW(INDIRECT("1:3")) ở khúc sau để làm cái gì chứ?
Tính tổng các cell A1 của các sheet, đúng không?
Đã làm cho bạn 1 lần rồi mà:
PHP:
=SUMPRODUCT(N(INDIRECT("Sheet"&ROW(1:3)&"!A1")))
 
Em xin lỗi thày, có lẽ do lâu rồi em không nhớ bài đó nằm ở đâu, em cứ băn khoăn là tại sao lại có thêm chữ N trong công thức
PHP:
=SUMPRODUCT(N(INDIRECT("Sheet"&ROW(1:3)&"!A1")))
thì mới không bị lỗi

Mặc dù em bôi đen đoạn INDIRECT("Sheet"&ROW(1:3)&"!A1")) và đoạn N(INDIRECT("Sheet"&ROW(1:3)&"!A1")) cho kết quả như nhau đều là mảng gồm 3 phần tử mà?
 
Em xin lỗi thày, có lẽ do lâu rồi em không nhớ bài đó nằm ở đâu, em cứ băn khoăn là tại sao lại có thêm chữ N trong công thức
PHP:
=SUMPRODUCT(N(INDIRECT("Sheet"&ROW(1:3)&"!A1")))
thì mới không bị lỗi

Mặc dù em bôi đen đoạn INDIRECT("Sheet"&ROW(1:3)&"!A1")) và đoạn N(INDIRECT("Sheet"&ROW(1:3)&"!A1")) cho kết quả như nhau đều là mảng gồm 3 phần tử mà?

Mới hôm qua thôi chứ có lâu gì đâu (bài 320 đấy)
Còn cái vụ N tôi cũng không biết nữa ---> Chỉ biết tham chiếu 3D kiểu này phải thêm N() vào mới xong
Nói thêm:
- INDIRECT(....) là 1 tham chiếu, gần tương đương với Range(....) trong VBA
- N() để chuyển tham chiếu thành giá trị... vậy nó cũng gần tương đương với Range(...).Value trong VBA rồi (trong VBA, đôi khi không ghi rõ .Value nó không chịu)
 
Lần chỉnh sửa cuối:
Giúp giải thích công thức

anh chị trong diễn đàn vui lòng giải thích giúp em chuỗi công thức trong file thu chi mà em hiện có.
em ko hiểu cho lắm về dòng công thức này.
(các công thức nằm trong cột O sheet CTUKETOAN).
ngoài ra cho em hỏi thêm làm, các chuỗi công thức dài, có vài trường hợp thêm dấu "
{" ở đầu và "}" ở cuối để làm gì.
chân thành cảm ơn.
 

File đính kèm

[h=2]Vui lòng giải thích giúp em Cong thuc nhé. Em cám ơn nhiều nhiều[/h]
=OFFSET(Sheet1!$E$1;;;MATCH(9,99999999999999E+30;S heet1!$E:$E);1)
Công thức này ý nghĩa là gì và những dấu ‘;;;’ là gì vậy ???.
Em thấy trên diễn đàn có nhiều công thức dùng ‘;;;’.
Vui lòng giải thích giúp em nhé. Em cám ơn nhiều nhiều​



 
Vui lòng giải thích giúp em Cong thuc nhé. Em cám ơn nhiều nhiều

=OFFSET(Sheet1!$E$1;;;MATCH(9,99999999999999E+30;S heet1!$E:$E);1)
Công thức này ý nghĩa là gì và những dấu ‘;;;’ là gì vậy ???.
Em thấy trên diễn đàn có nhiều công thức dùng ‘;;;’.
Vui lòng giải thích giúp em nhé. Em cám ơn nhiều nhiều


Thông thường trong 1 hàm, tham số nào người ta bỏ qua thì sẽ lấy theo mặc định
Offset có cú pháp như sau:
=OFFSET(Vùng, Vị trí dòng, Vị trí cột, Số dòng, Số cột)
Trong đó:
- Tham số Vung bắt buộc phải có
- Tham số Vị trí dòng nếu bỏ qua thì xem như trùng vị trí dòng của Vung
- Tham số Vị trí cột nếu bỏ qua thì xem như trùng vị trí cột của Vung
- Tham số Số dòng nếu bỏ qua thì xem như số dòng = số dòng của Vùng
- Tham số Số cột nếu bỏ qua thì xem như số cột = số cột của Vung
Ví dụ:
=OFFSET(A1, , , 3, 4) Nghĩa là tính từ A1, mở rộng ra 3 dòng, 4 cột (tham số vị trí dòng, cột bỏ qua) ---> Kết quả ta được vùng A1:D3
=OFFSET(A1, 2, 3) nghĩa là tính từ A1, dịch đi 2 dòng, 3 cột (tham số Số dong, Số cột bỏ qua) ---> Kết quả ta được cell D3
---------------------
Vậy công thức của bạn có nghĩa là: Từ E1, mở rộng ra số dòng bằng với kết quả của MATCH(....), số cột =1)... Còn vị trí dòng, vị trí cột thì bỏ qua
-------------------
Không riêng gì OFFSET mà tất cả các hàm khác đều vậy (tức tham số nào bỏ qua thì lấy theo mặc định)
 
Lần chỉnh sửa cuối:
Vui lòng giải thích giúp em Cong thuc nhé. Em cám ơn nhiều nhiều
=OFFSET(Sheet1!$E$1;;;MATCH(9,99999999999999E+30;Sheet1!$E:$E);1)
Công thức này ý nghĩa là gì và những dấu ‘;;;’ là gì vậy ???.
Em thấy trên diễn đàn có nhiều công thức dùng ‘;;;’.
Vui lòng giải thích giúp em nhé. Em cám ơn nhiều nhiều​
Trước hết, bạn cần đọc bài này để hiểu rõ về cú pháp và công dụng của hàm OFFSET.
Cú pháp hàm này là như vầy (dấu phân cách là , hay ; tùy thuộc vào từng máy tính):
Mã:
[COLOR=#8b0000]=[B]OFFSET[/B][/COLOR][I][COLOR=#8b0000]([/COLOR][COLOR=blue]reference[/COLOR][COLOR=#8b0000], [/COLOR][COLOR=blue]rows[/COLOR][COLOR=#8b0000], [/COLOR][COLOR=blue]cols [/COLOR][COLOR=#8b0000][, [/COLOR][COLOR=blue]height[/COLOR][COLOR=#8b0000]] [, [/COLOR][COLOR=blue]width[/COLOR][COLOR=#8b0000]])[/COLOR][/I]
Có thể hiểu công dụng của hàm này là trả về một vùng tính từ reference, dịch chuyển rows hàng và cols cột, sau đó điều chỉnh kích thước vùng mới này với height hàng và width cột. Nếu bỏ qua heightwidth
thì vùng đích có kích thước bằng vùng nguồn (reference).
Trong cú pháp trên, bạn thấy các tham số rows cols bắt buộc phải có, tuy nhiên khi bạn sử dụng hàm OFFSET trong Defined name thì 2 tham số này không bắt buộc phải nhập, khi đó coi như rows cols bằng 0.
Như vậy công thức
Mã:
=OFFSET(Sheet1!$E$1;;;MATCH(9,99999999999999E+30;Sheet1!$E:$E);1)
tương đương với công thức
Mã:
=OFFSET(Sheet1!$E$1;0;0;MATCH(9,99999999999999E+30;Sheet1!$E:$E);1)
Trong đó, MATCH(9,99999999999999E+30;Sheet1!$E:$E) trả về vị trí cuối cùng có dữ liệu trên cột E (nó là 1 số, và bằng với chỉ số hàng của ô cuối cùng có dữ liệu trên cột E,
ta giả sử số này là n).
Và bây giờ có thể hiểu hàm này trả về 1 vùng gồm
n hàng và 1 cột (do width=1), tính từ ô E1 trên Sheet1, hay nói cách khác, đây chính là vùng $E$1:$E$n trên Sheet1.
 
Các bạn giúp mình với ,Mình muốn ô kết quả sau đây có gía trị tính toán là :
- Nếu giá trị hoá đơn thanh toán lớn hơn định mức sử dụng thì thanh toán bằng định mức.
- Nếu giátrị thanh toán nhỏ hơn định mức thì thanh toán bằng hoá đơn thực tế.
(Mình gửi kèm theo file này nhé) Cám ơn các bạn nhiều.
View attachment Tinh toan CF.xls
 
Các bạn giúp mình với ,Mình muốn ô kết quả sau đây có gía trị tính toán là :
- Nếu giá trị hoá đơn thanh toán lớn hơn định mức sử dụng thì thanh toán bằng định mức.
- Nếu giátrị thanh toán nhỏ hơn định mức thì thanh toán bằng hoá đơn thực tế.
(Mình gửi kèm theo file này nhé) Cám ơn các bạn nhiều.
Giả sử định mức là A, thanh toán là B
Theo mô tả thì có phải ta sẽ luôn lấy số nhỏ nhất giữa 2 số A, B không?
Tức là hàm MIN
=MIN(A, B)
Vậy thôi!
 
nhờ các AC giải thích dùm em CT này:
=IF(ROWS($1:1)>COUNT(STT_Ngay),"",OFFSET('NHAT KY'!$C$4,SMALL(STT_Ngay,ROWS($1:1)),COLUMNS($A:A)-1))
có phải là vậy không: nếu dòng 1 lớn hơn giá trị của STT_Ngay thì bằng chuỗi,còn ngược lại thì lấy giá trị nhỏ nhất của cột A.
Mong các AC giải thích cho em rỏ với. Còn số -1 ở cuối CT nghĩa là gì vậy các AC?
 
nhờ các AC giải thích dùm em CT này:
=IF(ROWS($1:1)>COUNT(STT_Ngay),"",OFFSET('NHAT KY'!$C$4,SMALL(STT_Ngay,ROWS($1:1)),COLUMNS($A:A)-1))
có phải là vậy không: nếu dòng 1 lớn hơn giá trị của STT_Ngay thì bằng chuỗi,còn ngược lại thì lấy giá trị nhỏ nhất của cột A.
Mong các AC giải thích cho em rỏ với. Còn số -1 ở cuối CT nghĩa là gì vậy các AC?
Muốn hiểu nó, cách đơn giản nhất là thí nghiệm
- Bạn bỏ sô -1 ấy đi xem kết quả ra cái gì...
- Thử thay số -1 thành +1 chẳng hạn rồi kiểm tra kết quả
Từ đó suy ra điều mà mình... muốn hiểu
 
em đã thử và thấy nó chuyển giá trị về bên trái 1 cột, nhưng em muốn hiểu là em giải thích CT trên có đúng không, mong các AC diễn giải CT trên theo từng hàm một được không ah? Phần diễn giải của em có đúng không?
Mong các AC giúp đỡ!!
 
Giải thích cách tạo hàm

Anh(chị) giải thích giùm em trong công thức ở cột tên hàng hóa có chữ "TH" là sao vậy ạ. em không hiểu?
Em cảm ơn nhiều!!!!!
 

File đính kèm

Anh(chị) giải thích giùm em trong công thức ở cột tên hàng hóa có chữ "TH" là sao vậy ạ. em không hiểu?
Em cảm ơn nhiều!!!!!
Bạn nhấn ctrl F3 kiếm TH trong bảng name sẽ biết, nó chính là vùng này
=NXT!$B$5:$R$86
Đặt name để khi link công thức cho dễ và đỡ rối.
 
Anh ơi, a có thể giải thích rõ hơn giúp em được không? chữ TH đó có phải là phần danh mục hàng hóa không ạ.huhu.
Người ta đã giải thích rõ ràng quá rồi còn gì? hay là file của của bạn bị name rác quá nhiều không tìn ra TH ở đầu
Nhấn Ctrl+F3 file này thử TH là cái gì đi nhé
 

File đính kèm

Nhờ các bác giúp cái hàm này với. Nếu như ta có số thứ tự từ 1-100 ở cột 1, sau đó ở cột khác mình chọn số 1-100 tương ứng với cột 1 nhưng không trùng số nhau thì làm như thế nào.

Ví dụ: Mình đang làm một file kiểm phiếu ở cột 1 có 100 người bỏ phiếu, ở cột 2 có họ và tên, ở cột 3 có mã người bỏ phiếu. Vậy ở cột 3 ta lấy giá trị ở cột 1 là từ 1-100 nhưng thứ tự thì ngẫu nhiên. Có thể làm hàm gì để các số sắp xếp ngẫu nhiên (không trùng nhau từ 1-100) và có thể sau đó mình copy và paste lại bằng giá trị value nếu như hàm đó sẽ thay đổi mỗi khi mình có 1 thao tác trên sheet đó. Tôi đã thử dùng hàm rankbetween nhưng lại bị trùng. Cảm ơn mọi người đã giúp đỡ!
 
Lần chỉnh sửa cuối:
Nhờ các bác giúp cái hàm này với. Nếu như ta có số thứ tự từ 1-100 ở cột 1, sau đó ở cột khác mình chọn số 1-100 tương ứng với cột 1 nhưng không trùng số nhau thì làm như thế nào.

Ví dụ: Mình đang làm một file kiểm phiếu ở cột 1 có 100 người bỏ phiếu, ở cột 2 có họ và tên, ở cột 3 có mã người bỏ phiếu. Vậy ở cột 3 ta lấy giá trị ở cột 1 là từ 1-100 nhưng thứ tự thì ngẫu nhiên. Có thể làm hàm gì để các số sắp xếp ngẫu nhiên (không trùng nhau từ 1-100) và có thể sau đó mình copy và paste lại bằng giá trị value nếu như hàm đó sẽ thay đổi mỗi khi mình có 1 thao tác trên sheet đó. Tôi đã thử dùng hàm rankbetween nhưng lại bị trùng. Cảm ơn mọi người đã giúp đỡ!
Sao bạn ko tạo file rồi gửi lên nhỉ?
 
Web KT

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

Back
Top Bottom