Giải thích công thức excel

Liên hệ QC

truongvan86dh

Thành viên hoạt động
Tham gia
19/5/19
Bài viết
134
Được thích
9
Kính gửi : Các bạn trên diễn đàn giải pháp Excel
Mình có gửi File đính kèm và Ở sheet excel In.SQTH ô bôi màu đỏ mình không hiểu lắm công thức : =IF(TYPE(MATCH($C$7;OFFSET(In.NKC!$N$9;H11;0):In.NKC!$N$5992;0)+H11)=16;"";MATCH($C$7;OFFSET(In.NKC!$N$9;H11;0):In.NKC!$N$5992;0)+H11) . Mong các bạn chỉ giúp
 

File đính kèm

  • NKC EXCEL-TT200.xlsx
    2.3 MB · Đọc: 4
Kính gửi : Các bạn trên diễn đàn giải pháp Excel
Mình có gửi File đính kèm và Ở sheet excel In.SQTH ô bôi màu đỏ mình không hiểu lắm công thức : =IF(TYPE(MATCH($C$7;OFFSET(In.NKC!$N$9;H11;0):In.NKC!$N$5992;0)+H11)=16;"";MATCH($C$7;OFFSET(In.NKC!$N$9;H11;0):In.NKC!$N$5992;0)+H11) . Mong các bạn chỉ giúp
Công thức dài thòn vậy bạn không hiểu hết hay không hiểu chỗ nào mới được???
Hông lẽ bạn không hiểu luôn hàm If???
Ok, mình giải thích bạn hàm lớn nhất trong dãy công thức trên trước nhé:

Cú pháp cho hàm IF như sau:

IF (logical_test, [value_if_true], [value_if_false])

Như bạn thấy, hàm IF có 3 tham số, nhưng chỉ có tham số đầu tiên là bắt buộc phải có, còn 2 tham số còn lại là không bắt buộc.

* logical_test: Là một giá trị hay biểu thức logic có giá trị TRUE (đúng) hoặc FALSE (sai). Bắt buộc phải có. Đối với tham số này, bạn có thể chỉ rõ đó là ký tự, ngày tháng, con số hay bất cứ biểu thức so sánh nào.

* Value_if_true: Là giá trị mà hàm sẽ trả về nếu biểu thức logic cho giá trị TRUE hay nói cách khác là điều kiện thỏa mãn. Không bắt buộc phải có.

* Value_if_false: là giá trị mà hàm sẽ trả về nếu biểu thức logic cho giá trị FALSE hay nói cách khác là điều kiện không thỏa mãn. Không bắt buộc phải có.
 
Kính gửi : Các bạn trên diễn đàn giải pháp Excel
Mình có gửi File đính kèm và Ở sheet excel In.SQTH ô bôi màu đỏ mình không hiểu lắm công thức : =IF(TYPE(MATCH($C$7;OFFSET(In.NKC!$N$9;H11;0):In.NKC!$N$5992;0)+H11)=16;"";MATCH($C$7;OFFSET(In.NKC!$N$9;H11;0):In.NKC!$N$5992;0)+H11) . Mong các bạn chỉ giúp
Không ai giải thích một công thức dài vậy cho bạn đâu (mà thường dài mới hỏi). Vì giải thích cần cả khả năng sư phạm nữa. Bạn không hiểu chỗ nào thì google xem cú pháp của hàm đó, kết hợp bôi đen vùng công thức trên thanh công thức và ấn F9. Từ từ sẽ hiểu, nếu không hiểu được thì chỗ nào mới hỏi. Chứ cả đoạn vậy chịu gì nổi
 
Ở đâu bạn có cái công thức ấy? Bạn phải tìm người chế ra nó mà hỏi chứ!
Nếu không thể hỏi ngừoi ấy thì ít nhất bạn ohair cho biết mục đích của công thức là tính cái gì.
Cỡ cái congt thức dài ngoằng này thì khả năng nó sai cũng không hiếm. Thành thử phải biết nó làm gì mới có thể dò ngược mà giải thích.
 
Tất nhiên là hỏi công thức ghép rồi, ghép thế nào để đạt kết quả như vậy. Chứ từng hàm đơn lẻ thì ai chẳng biết.
 
Tất nhiên là hỏi công thức ghép rồi, ghép thế nào để đạt kết quả như vậy. Chứ từng hàm đơn lẻ thì ai chẳng biết.
Úy, đâu có suy bụng mình ra bụng người được! :D
Mấy cái hàm đơn lẻ ấy. 6 năm trước em chưa biết hàm Match. 6 tháng trước em chưa biết hàm Offset. 60 phút trước em không biết hàm Type với đối số 16 là nghĩa gì nè. Híc, Google thấy bà luôn.
 
Bạn đang trích lọc phát sinh chi tiết của 1 tài khoản từ sổ nhật ký chung.
Bằng cách tìm đánh dấu dòng xuất hiện của tài khoản 112 tại cột ghi chú:
Trong ví dụ, dòng đầu tiên xuất hiện của 112 là dòng 42 (Tại ô N50 sheet NKC)
MATCH($C$7,In.NKC!$N$9:$N$5992,0)
Tại dòng kế tiếp, bạn muốn tìm phát sinh thứ hai của 112 trong NKC, bằng cách tạo vùng tìm kiếm mới và bỏ qua dòng 112 đầu tiên tìm thấy (ô N50):
OFFSET(In.NKC!$N$9,H11,0):In.NKC!$N$5992,0) tương đương vùng N51:N5992
Sau đó tìm 112 trong vùng này,
MATCH($C$7,OFFSET(In.NKC!$N$9,H11,0):In.NKC!$N$5992,0)=1 (vị trí thứ 1 trong vùng N51: N5992)
Sau đó cộng thêm 42 = 43 là ra vị trí 112 thứ 2 trong cột N để làm tham chiếu cho INDEX trả về giá trị tương ứng giá trị nợ TK 112
 
Bạn đang trích lọc phát sinh chi tiết của 1 tài khoản từ sổ nhật ký chung.
Bằng cách tìm đánh dấu dòng xuất hiện của tài khoản 112 tại cột ghi chú:
Trong ví dụ, dòng đầu tiên xuất hiện của 112 là dòng 42 (Tại ô N50 sheet NKC)
MATCH($C$7,In.NKC!$N$9:$N$5992,0)
Tại dòng kế tiếp, bạn muốn tìm phát sinh thứ hai của 112 trong NKC, bằng cách tạo vùng tìm kiếm mới và bỏ qua dòng 112 đầu tiên tìm thấy (ô N50):
OFFSET(In.NKC!$N$9,H11,0):In.NKC!$N$5992,0) tương đương vùng N51:N5992
Sau đó tìm 112 trong vùng này,
MATCH($C$7,OFFSET(In.NKC!$N$9,H11,0):In.NKC!$N$5992,0)=1 (vị trí thứ 1 trong vùng N51: N5992)
Sau đó cộng thêm 42 = 43 là ra vị trí 112 thứ 2 trong cột N để làm tham chiếu cho INDEX trả về giá trị tương ứng giá trị nợ TK 112
Trùi, giải thích cặn kẽ luôn hả? Dễ dãi và dễ thương dễ sợ. :D
Vậy để mình bổ sung nốt chỗ Type 16 mới vừa Google xong. If (Type()= 16) nó tương đương với Iferror() í bạn thớt ơi.
Tại đoạn này:
Mã:
IF(TYPE(MATCH($C$7;OFFSET(In.NKC!$N$9;H11;0):In.NKC!$N$5992;0)+H11)=16;""
nghĩa là, nếu (If) cụm Match dò ra giá trị lỗi thì trả về "" nha!

Trọn tình trọn nghĩa. :)
 
Thanks các bạn nhiều trên diễn đàn nhé.
 
Web KT
Back
Top Bottom