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
Tại sao khi dùng công thức này:
PHP:
=SUMPRODUCT(SUMIF(INDIRECT("'K"&ROW($1:$7)&"'!AB10:AB73"),A1,INDIRECT("'K"&ROW($1:$7)&"'!P10:P73")))
thì insert dòng trong sheet có công thức đó thì : ROW($1:$7) không thay đổi.
Nhưng mà thay một chút thì có vấn đề:
PHP:
=SUMPRODUCT(SUMIF(INDIRECT("'K"&ROW($22:$28)&"'!AB10:AB73"),A1,INDIRECT("'K"&ROW($22:$28)&"'!P10:P73")))
Khi Insert dòng trong sheet chứa công thức công thức:
ROW($22:$28) sẻ thay đổi, nghĩa là số sẻ nhảy lên ROW($23:$29)
Nhờ mọi người chỉ giúp ạ! xin chân thành cảm ơn!

Công thức nào khi chèn dòng, các vùng tham chiếu cũng có thể bị thay đổi theo nguyên tắc sau:
- Nếu dòng chèn ở dưới vùng tham chiếu thì vùng tham chiếu sẽ không thay đổi.
- Nếu dòng chèn ở trong vùng tham chiếu thì vùng tham chiếu sẽ mở rộng ra với số dòng tăng lên bằng số dòng chèn thêm.
- Nếu dòng chèn ở trên vùng tham chiếu thì vùng tham chiếu sẽ bị "đẩy" xuống dưới với số dòng bằng số dòng chèn thêm.
 
Công thức nào khi chèn dòng, các vùng tham chiếu cũng có thể bị thay đổi theo nguyên tắc sau:
- Nếu dòng chèn ở dưới vùng tham chiếu thì vùng tham chiếu sẽ không thay đổi.
- Nếu dòng chèn ở trong vùng tham chiếu thì vùng tham chiếu sẽ mở rộng ra với số dòng tăng lên bằng số dòng chèn thêm.
- Nếu dòng chèn ở trên vùng tham chiếu thì vùng tham chiếu sẽ bị "đẩy" xuống dưới với số dòng bằng số dòng chèn thêm.
Rất cảm ơn anh, dùng công thức mà chưa hiểu nguyên tắc các vùng tham chiếu. Một lần nữa cảm ơn anh nhiều!
 
Thứ nhất: Cho mình hỏi ý nghĩa của Công thức này được không mọi người: IF(TYPE(MATCH($B$3;(OFFSET(NKXH_BD!$A$2;L9;0):NKXH_BD!$A$2000);0)+L9)=16;"";MATCH($B$3;(OFFSET(NKXH_BD!$A$2;L9;0):NKXH_BD!$A$2000);0)+L9)
Thứ 2: nếu mình đặt NKXH_BD!A2:A2000 = ngay_xuat thì khi đó công thức trên sẽ được viết lại như thế nào?
Rất mong được chỉ giáo. Thanks mọi người!
 
Em có công thức mảng như sau, công thức này giúp lọc danh sách vật tư từ sheet "du toan", và kết quả không trùng nhau (cái nào có rồi thì bỏ qua).

Giờ em muốn thêm 1 cái điều kiện về ngày tháng vào công thức trên, để cho kết quả phải thỏa điều kiện ngày tháng và kết quả không trùng nhau.

Ví dụ: muốn lọc ra những vật tư đc bán ra trong tháng 2, và kết quả không trùng nhau. (những vật tư nào đã xuất hiện rồi thì bỏ qua.)

Ở đây em muốn dùng công thức, hoặc thêm cột phụ hoặc cái gì khác ngoài Advanced Filter, để nó luôn tự update từ sheet "du toan" qua. Nếu sau này bên "du toan" có thêm vào vật tư mới thỏa điều kiện ngày tháng nó sẽ tự update luôn. Vì theo em hiểu thì AF không tự update nếu sau này có dữ liệu mới thêm vào.

PHP:
{=IFERROR(INDEX('du toan'!C2:C500,SMALL(IF(IFERROR(MATCH('du toan'!C2:C500,'du toan'!C2:C500,0),"")=ROW(INDIRECT("1:"&ROWS('du toan'!C2:C500))),IFERROR(MATCH('du toan'!C2:C500,'du toan'!C2:C500,0),""),""),
ROW(INDIRECT("1:"&ROWS('du toan'!C2:C500))))),"")}

Em xin gửi file mẫu cho mọi người giúp đỡ ạ.
 

File đính kèm

Em có công thức mảng như sau, công thức này giúp lọc danh sách vật tư từ sheet "du toan", và kết quả không trùng nhau (cái nào có rồi thì bỏ qua).

Giờ em muốn thêm 1 cái điều kiện về ngày tháng vào công thức trên, để cho kết quả phải thỏa điều kiện ngày tháng và kết quả không trùng nhau.

Ví dụ: muốn lọc ra những vật tư đc bán ra trong tháng 2, và kết quả không trùng nhau. (những vật tư nào đã xuất hiện rồi thì bỏ qua.)

Ở đây em muốn dùng công thức, hoặc thêm cột phụ hoặc cái gì khác ngoài Advanced Filter, để nó luôn tự update từ sheet "du toan" qua. Nếu sau này bên "du toan" có thêm vào vật tư mới thỏa điều kiện ngày tháng nó sẽ tự update luôn. Vì theo em hiểu thì AF không tự update nếu sau này có dữ liệu mới thêm vào.

PHP:
{=IFERROR(INDEX('du toan'!C2:C500,SMALL(IF(IFERROR(MATCH('du toan'!C2:C500,'du toan'!C2:C500,0),"")=ROW(INDIRECT("1:"&ROWS('du toan'!C2:C500))),IFERROR(MATCH('du toan'!C2:C500,'du toan'!C2:C500,0),""),""),
ROW(INDIRECT("1:"&ROWS('du toan'!C2:C500))))),"")}

Em xin gửi file mẫu cho mọi người giúp đỡ ạ.

Vậy thì bạn dùng PivotTable đi. Ưu điểm của nó là:
- File rất nhẹ vì không chứa công thức nào
- Tốc độ xử lý cao
- Tùy biến thoải mái các hình thức báo cáo
 

File đính kèm

Lần chỉnh sửa cuối:
Quan trọng là nó có tự update, nếu sau này sheet "du toan" phát sinh thêm không ạ.

Tự động 100% thì không, tuy nhiên bất cứ khi nào muốn update, chỉ cần click phải vào vùng chứa PivotTable, chọn Refresh là xong ngay
Xem file ở trên nhé
 
Tự động 100% thì không, tuy nhiên bất cứ khi nào muốn update, chỉ cần click phải vào vùng chứa PivotTable, chọn Refresh là xong ngay
Xem file ở trên nhé
Em hỏi thêm cái này nữa là, trong file anh làm, chỗ ngày tháng sau nhấn mũi tên, danh sách sổ xuống chỉ là tháng không vậy? Làm sao làm đc ạ, em làm thì nó hiện lên hết các ngày trong cột ngày tháng luôn.
 
Em hỏi thêm cái này nữa là, trong file anh làm, chỗ ngày tháng sau nhấn mũi tên, danh sách sổ xuống chỉ là tháng không vậy? Làm sao làm đc ạ, em làm thì nó hiện lên hết các ngày trong cột ngày tháng luôn.

Chút kỹ xảo thôi:
- Kéo Ngày tháng vào Row field
- Groud ngày tháng theo Months
- Xong, kéo Ngày tháng lên Report field
Xem video clip sẽ hiểu liền:

[video=youtube;LhN_uHFTOOM]http://www.youtube.com/watch?v=LhN_uHFTOOM&feature=youtu.be[/video]


Tóm lại, nếu muốn Group 1 trường nào đó thì chỉ có thể đặt tạm nó vào Row Field hoặc Column Field, group xong muốn kéo nó đi đâu thì tùy
 
Em dùng excel 2007, Em dùng công thức định coppy và tham chiếu 1 số dữ liệu từ cel nọ sang cel kia, nhưng khi nhập công thức bên cel này nhấn Alt+tab để chuyển cel khác thì công thức mặc nhiên không còn tác dụng, trước em dùng 2013, làm bình thường, do cài lại win xp vì máy yếu, em cài lại 2007, mắc lỗi này, không biết ai bị giống như em không ạ, cảm ơn A/C!

PS: Do em đang dùng winra nén dữ liệu, máy chạy hết công suất, nên mất tác dụng----Thanks!
 
Lần chỉnh sửa cuối:
GIÚP MÌNH CÔNG THỨC IF LỒNG LEFT VỚI, MÌNH THỬ NHIỀU LẦN RỒI NHƯNG KHÔNG BIẾT TẠI SAO VẪN KHÔNG ĐƯỢC
=IF(LEFT(A3,1)=L,"Lúa",IF(LEFT(A3,1)=Đ,"Đậu",IF(LEFT(A3,1)=G,"Gạo")))
 
GIÚP MÌNH CÔNG THỨC IF LỒNG LEFT VỚI, MÌNH THỬ NHIỀU LẦN RỒI NHƯNG KHÔNG BIẾT TẠI SAO VẪN KHÔNG ĐƯỢC
=IF(LEFT(A3,1)=L,"Lúa",IF(LEFT(A3,1)=Đ,"Đậu",IF(LEFT(A3,1)=G,"Gạo")))
Tại sao Lúa, Đậu, Gạo bạn biết cho vào cặp dấu "" mà mấy cái L, Đ, G bạn lại không cho vào đấy nhỉ?!
 
giúp đỡ về liên kết và thống kê dữ liệu ở 2 sheet

-em muốn ở sheet 3: như yêu cầu trong sheet đó
- ở sheet 4:v9=mục bất kỳ (lấy trong list từ B81-B159 tạo từ sheet 5) thì cột x9 sẽ tự nhảy ra kết quả (lấy từ list trong c81-c159 sheet 5)
-Nếu ở cột x9=KC thì y9=kc, nếu là số thì y9=x9*w9
 

File đính kèm

Tốc độ xử lý công thức

E đang dùng chức năng TABLE trong Excel 2010 (bao gồm nhiều trường và bản ghi)
Ví dụ có 1 trường TUOI (tuổi)
Giả sử công thức e dùng: Vlookup(A2,data,2,0) để tìm kiếm trong bảng data nào đó.
Nếu sử dụng chức năng table thì công thức lại ở dạng: vlookup([@TUOI],data,2,0)
Sự khác biệt e có bôi đỏ, nhìn hình thức dùng table loằng ngoằng hơn, vậy e hỏi chút là liệu tốc độ xử lý công thức ở trong table có chậm hơn dạng công thức ở dạng thường (lookup_value của table nhiều ký tự hơn)
P/S: đặc biệt là tại tất cả các dòng (bản ghi) thì lookup_value đều ở dạng
[@TUOI] chứ ko A2, A3, A4...như bình thường
 
Lần chỉnh sửa cuối:
E đang dùng chức năng TABLE trong Excel 2010 (bao gồm nhiều trường và bản ghi)
Ví dụ có 1 trường TUOI (tuổi)
Giả sử công thức e dùng: Vlookup(A2,data,2,0) để tìm kiếm trong bảng data nào đó.
Nếu sử dụng chức năng table thì công thức lại ở dạng: vlookup([@TUOI],data,2,0)
Sự khác biệt e có bôi đỏ, nhìn hình thức dùng table loằng ngoằng hơn, vậy e hỏi chút là liệu tốc độ xử lý công thức ở trong table có chậm hơn dạng công thức ở dạng thường (lookup_value của table nhiều ký tự hơn)

Công thức nó ghi gì thây kệ nó (đó là cách "ứng xử" của Table cũng giống như PivotTable vậy)
Còn về vấn đề tốc độ: Khẳng định rằng dùng Table rất thuận tiện nhưng tốc độ xử lý sẽ chậm hơn 1 bảng tính bình thường
Ý tôi muốn nói rằng: Khi bạn chèn table thì đã chấp nhận tốc độ chậm đi chứ không liên quan gì đến cái công thức loằng ngoằng kia cả
 
Công thức nó ghi gì thây kệ nó (đó là cách "ứng xử" của Table cũng giống như PivotTable vậy)
Còn về vấn đề tốc độ: Khẳng định rằng dùng Table rất thuận tiện nhưng tốc độ xử lý sẽ chậm hơn 1 bảng tính bình thường
Ý tôi muốn nói rằng: Khi bạn chèn table thì đã chấp nhận tốc độ chậm đi chứ không liên quan gì đến cái công thức loằng ngoằng kia cả
Sau khi chuyển đổi hàm theo cách "ứng xử" của table thì e thấy dung lượng của file giảm đi đáng kể. (đây có phải 1 yếu tố thuận tiện)
 
Excel của máy em bị lỗi này khi sử dụng bất kỳ hàm nào, ví dụ khi em chọn If(A1.) thì hiện thành If (A1:A1)

Có ai biết cách khắc phục lỗi này giúp em với.
 
Excel của máy em bị lỗi này khi sử dụng bất kỳ hàm nào, ví dụ khi em chọn If(A1.) thì hiện thành If (A1:A1)

Có ai biết cách khắc phục lỗi này giúp em với.
bạn đánh cái dấu chấm của bạn thành dấu phảy thì sẽ ko có hiện tượng trên
 
Web KT

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

Back
Top Bottom