Hỏi nhanh - đáp nhanh về công thức (phần 1)

Liên hệ QC
Status
Không mở trả lời sau này.
_Câu hỏi như sau:
Tính Giảm Giá, biết rằng khách hàng nào mua từ lần thứ 4 trở đi thì "Giảm 10%", ngược lại để trống.
Không biết mình viết công thức ra sao ?? Thanks
 
_Câu hỏi như sau:
Tính Giảm Giá, biết rằng khách hàng nào mua từ lần thứ 4 trở đi thì "Giảm 10%", ngược lại để trống.
Không biết mình viết công thức ra sao ?? Thanks

Ô I4 (Giảm giá) gõ công thức sau (thể hiện bằng % giảm giá):
PHP:
I4 = (COUNTIF($B$4:$B4,$B4)>=4)*10%
Sau đó copy công thức xuống dưới.
Nếu bạn muốn thể hiện số tiền thì công thức trên nhân thêm cột doanh thu nữa là xong.
VÀ một điều dĩ nhiên là dữ liệu của bạn phải được sắp xếp theo thứ tự nghiệp vụ pháp sinh!
 
Ô I4 (Giảm giá) gõ công thức sau (thể hiện bằng % giảm giá):
PHP:
I4 = (COUNTIF($B$4:$B4,$B4)>=4)*10%
Sau đó copy công thức xuống dưới.
Nếu bạn muốn thể hiện số tiền thì công thức trên nhân thêm cột doanh thu nữa là xong.
VÀ một điều dĩ nhiên là dữ liệu của bạn phải được sắp xếp theo thứ tự nghiệp vụ pháp sinh!
Cực kỳ chính xác, mình đã viết một vài công thức nhưng lại không thỏa được từ lần thứ 4 trở đi, mà giảm từ lần 1 trở đi khi thỏa điều kiện 4 lần mua. Ca-dafi có thể giải nghĩa công thức này được không? Thanks
 
Ca-dafi có thể giải nghĩa công thức này được không?
PHP:
I4 = (COUNTIF($B$4:$B4,$B4)>=4)*10%
Trong công thức này ta chia làm hai phần:
1. COUNTIF($B$4:$B4,$B4): Đây là công thức để đếm số thứ tự xuất hiện của một ô trong cùng một cột dữ liệu. Bạn thử làm một cột phụ rồi gõ công thức này vào, và copy công thức xuống dưới sẽ thấy! Chú ý cái dấu "$", công thức này đã cố định ô $B$4, nghĩa là càng xuống các dòng dưới, độ rộng của dữ liệu càng lớn

2. (COUNTIF($B$4:$B4,$B4)>=4): Đây là biểu thức logic trả về giá trị là TRUE nếu giá trị countIf đó >=4 hoặc FALSE nếu giá trị countif đó <4

Và:
True*10% = 1*10% = 10%
False*10% = 0*10% = 0%


Chúc vui.
 
Đưa dữ liệu hàng về cột

Mình có bảng dữ liệu như file đính kèm, muốn dữ liệu 2 cột B và C thành cột D thì phải làm sao? Mặc dù mình có thể dùng công thức này if
nhưng có cách nào khác không vì nếu có trên 10 cột thì không thể dùng hàm if rồi
 
Mình có bảng dữ liệu như file đính kèm, muốn dữ liệu 2 cột B và C thành cột D thì phải làm sao? Mặc dù mình có thể dùng công thức này if
nhưng có cách nào khác không vì nếu có trên 10 cột thì không thể dùng hàm if rồi

Bài này Bạn có thể dùng Index và Match để giải quyết nhé! 100 cột cũng chẳng sao! Bạn xem file đính kèm nhé!
 
Lần chỉnh sửa cuối:
Nhưng nếu có ô bị rỗng dữ liệu thì làm sao? giống như cell A7 (rỗng toàn bộ giá trị của Act 6)
Thì bạn lồng một hàm IF để bẫy lỗi vào.
Ví dụ (xem bài của Ca_Dafi nhé), công thức trong ô L2 đang là:
=INDEX($B$1:$K$1, MATCH("X",$B2:$K2,0))​
Bạn sợ rằng nó báo lỗi #NA! khi gặp toàn ô rỗng, thì bạn lồng hàm IF(ISNA... vào:
=IF(ISNA(INDEX($B$1:$K$1, MATCH("X",$B2:$K2,0))), "", INDEX($B$1:$K$1, MATCH("X",$B2:$K2,0)))​
Nếu bạn dùng Excel2007 thì còn ngắn hơn nữa:
=IFERROR(INDEX($B$1:$K$1, MATCH("X",$B2:$K2,0)), "")​
Cả hai công thức trên, nếu gặp toàn ô trống thì cũng trả về kết quả là ô trống.
 
Nhưng nếu có ô bị rỗng dữ liệu thì làm sao? giống như cell A7 (rỗng toàn bộ giá trị của Act 6)
Có rất nhiều cách để bẫy lỗi mà bạn! Bài trên, do mình không bẫy lỗi nên nếu không tìm thấy chữ "X" trong vùng cần tìm kiếm thì hàm Match sẽ trả về giá trị là #N/A.

Bạn có thể sử dụng cách của anh BNTT là thông dụng nhất, dễ hiểu nhất! Nó cũng giống như bẫy lỗi trong Vlookup, Hlookup mà thôi!

Ngoài ra, bạn còn có thể dùng COUNTIF, COUNTA để bẫy lỗi, cũng khá đơn giản không có gì là khó hiểu cả, ví dụ:
PHP:
=IF(COUNTIF($B2:$K2,"X")<1,"",INDEX($B$1:$K$1,MATCH("X",$B2:$K2,0)))
Hoặc:
PHP:
=IF(COUNTA($B2:$K2)<1,"",INDEX($B$1:$K$1,MATCH("X",$B2:$K2,0)))
Còn không thích dùng IF thì dùng CHOOSE cũng xong:
PHP:
=CHOOSE((COUNTIF($B2:$K2,"X")>0)+1,"",INDEX($B$1:$K$1,MATCH("X",$B2:$K2,0)))
Hoặc:
PHP:
=CHOOSE((COUNTA($B2:$K2)>0)+1,"",INDEX($B$1:$K$1,MATCH("X",$B2:$K2,0)))
 
Lần chỉnh sửa cuối:
cho mình hỏi cách thêm cột trong excel 2003
bởi vì mình đang tạo lịch làm việc cho 1 năm (>365 cột)
hiện tại trong office 2003 chỉ có 256 cột
thank!
 
cho mình hỏi cách thêm cột trong excel 2003
bởi vì mình đang tạo lịch làm việc cho 1 năm (>365 cột)
hiện tại trong office 2003 chỉ có 256 cột
thank!

Chuyễn sang Excel 2007 đi cho rông nhe !
hi hi .Bạn làm lịch làm việc gì mà khủng thế ?
 
cho mình hỏi cách thêm cột trong excel 2003
bởi vì mình đang tạo lịch làm việc cho 1 năm (>365 cột)
hiện tại trong office 2003 chỉ có 256 cột
thank!
Theo tôi thì cách hay nhất không phải là tìm 1 phần mềm đáp ứng được nhu cầu (số cột >256) mà nên xem lại cấu trúc dử liệu ---> Nên chăng thay đổi cách bố trí sao cho phù hợp
Bạn nghĩ xem, với 1 bảng tính có chừng 200 cột thì xem làm sao, in ấn làm sao
???
Tôi mà nhìn bảng tính như thế tôi cho vào sọt rác chứ khỏi cần xem ---> Mỏi mắt
 
Cái này thì dùng CT ntn?

Mình có 2 cột A và B, mình muốn là khi nhập dữ liệu vào cột A thì tự động bên Cột B ở cùng dòng sẽ hiện lên chữ OK, còn nếu chưa nhập thì sẽ không hiện gì cả.
Vậy phải dùng công thức ntn?
Các bạn chỉ giúp mình với. Thanks!
 
Bạn dùng hàm If nhe:
=IF(A1="","","OK")
Thân
 
Mình đã làm được rồi, phải là dấu ; chứ k phải dấu , đâu
Dấu nào, thì còn phụ thuộc vào khai báo Regional and Language Options trong Control Panel, nhất là ở mục List Seperator của từng máy. Không thể nói rằng dấu phẩy (,) hay là dấu chấm phẩy (;) thì mới đúng hay là sai.
 
Hóa ra là thế, mặc định khi cài Win xong thì sẽ là dấu , hay dấu ; vậy?
 
Hóa ra là thế, mặc định khi cài Win xong thì sẽ là dấu , hay dấu ; vậy?

Khi bạn cài WIN xong! Hãy vào Control Panel --> Regional and Language Options sẽ thấy!

Nói thêm nữa: trong quá trình cài đặt Window, Chương trình sẽ hỏi bạn có setup Regional and Language Options hay không! Cho nên nếu bạn có setup lúc này thì sau khi cài WIN hệ thống sẽ căn cứ vào lần setup này làm mặc định!.
 
Hóa ra là thế, mặc định khi cài Win xong thì sẽ là dấu , hay dấu ; vậy?
Còn tùy, bạn ơi. Tùy là tùy bạn xài cái đĩa cài đặt nào nữa kia.

Ví dụ, hiện nay ngoài chợ có bán đầy những đĩa Windows XP đã được bào chế lại, của các chuyên gia Thái Lan hay Ấn độ gì đó... Khi cài, khỏe lắm, chẳng phải gõ cái gì hết (kể cả Activate Key), cứ việc đút cái đĩa vào, chọn cho nó cài vào ổ nào, rồi yên tâm đi uống cafe, khoảng nửa tiếng sau về là có Windows XP xài rồi. Khỏe thì có khỏe, nhưng hệ điều hành trong đó, những cái mặc định á, thì có trời mới biết là thứ gì. Có khi, ngày tháng năm toàn là tiếng Thái Lan! Lại phải bỏ công ra ngồi chỉnh sửa lại theo kiểu Việt Nam, không thì chí ít cũng phải là kiểu Mỹ...

Ví du khác, bạn mua một laptop chính hãng có cài sẵn WindowsXP bản quyền, thì dấu List Seperator là dấu phẩy (,) bởi vì chắc chắn Windows XP cài sẵn trên máy bạn là Windows kiểu Mỹ. Và đây cũng là định dạng cho đa số các máy cài Windows XP mà chưa chỉnh sửa gì hết...

Còn nếu như bạn không thích xài định dạng số kiểu Mỹ (dấu phẩy là dấu phân cách hàng nghìn) mà bạn chỉnh sửa (có thể là ngay khi cài đặt Windows) định dạng số theo kiểu Việt Nam (dấu phẩy là dấu phân cách số lẻ thập phân), thì khi đó hệ thống sẽ dùng dấu chấm phẩy (;) làm List Seperator.

Tôi thì thường có gì xài đó, định dạng số kiểu Mỹ cũng chả sao, miễn là đọc thì hiểu đó là số mấy... Hơi cổ hủ tí, nhưng vì tôi không thích (đúng hơn là không dám) can thiệp vào những cài đặt trong Control Panel. Chỉ trừ mỗi chuyện thiết lập giấy in là A4 (thay vì mặc định là Letter) thì tôi nhờ thằng bạn làm dùm, để in ra vừa với tờ giấy thường bán đầy ngoài chợ...
 
Của mình là vista bản quyền, chưa chỉnh sửa gì ở trong mục Region... cả, nhưng vẫn cứ phải dùng dấu ;
 
Status
Không mở trả lời sau này.
Web KT

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

Back
Top Bottom