PDA

View Full Version : Hỏi về hàm if và and kết hợp



haisonghinh
21-10-09, 10:10 AM
Xin chào các bạn
Tôi sử dụng hàm if và hàm and kết hợp nhưng không cho kết quả đúng được
Mong các bạn chỉ giùm chỗ nào sai
Mục đích của tôi là nếu ở cột I10 mà là tháng 8, đồng thời ở cột J10 là các ngày ....., thì cho kết quả là ngày nghỉ, ngược lại thì cho kết quả "-"
Xin chân thành cảm ơn

Có kèm theo tập tin

khoavu87
21-10-09, 10:34 AM
BẠN GỬI FI LE LÊN MÀ CHẲNG CÓ THẤY CÁI GÌ CẢ THÌ BIẾT NGÀY NÀO NGHỈ ĐỂ MÀ LÀM ĐÂY.NHÂN TIỆN ĐÂY TUI GỬI CÁC HÀM IF VÀ AND CHO BẠN THAM KHẢO


Hàm AND

Có lẽ khỏi giải thích nhỉ. AND có nghĩa là VÀ. Vậy thôi. Dùng hàm này khi muốn nói đến cái này và cái này và cái này......

Cú pháp: AND(logical1 [, logical2] [, logical3]...)

_____logical: Những biểu thức sẽ được xét xem đúng (TRUE) hay sai (FALSE)

Nếu tất cả các biểu thức đều đúng, hàm AND() sẽ trả về giá trị TRUE, và chỉ cần 1 trong các biểu thức sai, hàm AND() sẽ trả về giá trị FALSE.

Bạn có thể dùng hàm AND() bất cứ chỗ nào bạn muốn, nhưng thường thì hàm AND() hay được dùng chung với hàm IF().

Ví dụ:
=IF(AND(B2 > 0, C2 > 0), "1000", "No bonus")
Nếu giá trị ở B2 và ở C2 lớn hơn 0, thì (thưởng) 1.000, còn nếu chỉ cần một trong 2 ô B2 hoặc C2 nhỏ hơn 0, thì không thưởng chi cả.

Vấn đề xét một giá trị nằm trong một khoảng
Có một bạn, khi nói đến một giá trị nằm trong khoảng từ 3 đến 10, đã dùng công thức 3 < x < 10 trong một công thức của hàm IF()
Không sai. Nhưng Excel thì "hổng hỉu". Vậy phải viết sao để Excel "hỉu" ?

Bạn ấy phải viết như vầy:
AND(x>3, x<10)


Bài toán thống kê theo độ tuổi
Bạn xem hình này nhé.

Ở vùng Thống kê theo độ tuổi, người ta muốn lập công thức dựa vào số tuổi ở cột B và câu trả lời ở cột C, thì biết được lứa tuổi nào muốn cái gì...
http://www.giaiphapexcel.com/forum/mk:@MSITStore:C:\Documents%20and%20Settings\khoavu \Desktop\destop\Excel_Function_and_Formulas.chm::/images/p2_1logic_files/image001.jpg
Chúng ta cùng làm nào (làm cho một hàng thôi rồi kéo công thức xuống)
Để xét độ tuổi từ 18 đến 34, công thức:
AND(B11 >= 18, B11 <= 34)

Câu trả lời nằm ở cột C, vậy công thức tìm câu trả lời cho độ tuổi từ 18 đến 43 là:
=IF(AND(B11 >= 18, B11 <= 34), C11, "")

Đúng rồi. Vậy ta làm tiếp thôi:

Độ tuổi 35-49: =IF(AND(B11 >= 35, B11 <= 49), C11, "")

Độ tuổi 50-64: =IF(AND(B11 >= 50, B11 <= 64), C11, "")

Độ tuổi trên 65: =IF(B11 >= 65, C11, "")

Hàm IF

Hàm đầu tiên tôi muốn bàn tới là hàm IF(). Có lẽ đây là một trong những hàm được dùng nhiều nhất trong các bảng tính Excel.
Cái lập luận: "Nếu tôi tôi đúng thì làm cho tôi cái này, nếu tôi sai thì làm cho tôi cái kia".. Có lẽ trong chúng ta ai cũng hiểu.
Vậy tôi sẽ không giải nghĩa nhiều về hàm này, mà sẽ dùng các ví dụ để minh họa.


Một tình huống đơn giản nhất
Cú pháp: IF(logical_test, value_is_true)

_____logical_test: Một biểu thức sẽ được xét xem đúng (TRUE) hay sai (FALSE)

_____value_is_true: giá trị trả về khi biểu thức logical_test được kiểm tra là đúng (TRUE)

Ví dụ:
=IF(A1 >= 1000, "It’s big!")
Nghĩa là, nếu giá trị ở A1 lớn hơn hoặc bằng 1000, thì kết quả nhận được sẽ là "It's big!", còn không, nếu A1 nhỏ hơn 1000, kết quả sẽ là FALSE.

Một ví dụ khác, giả sử bạn có một bảng đánh giá mức độ bán ra, mua vào của một danh mục hàng hóa dài, và bạn muốn theo dõi những mặt hàng có doanh số bán ra không đạt yêu cầu để điều chỉnh chiến lược kinh doanh của mình, bằng cách gán những dấu "<" bên cạnh nó, hễ phần trăm doanh số càng thấp thì những dấu hiệu "<" càng nhiều...

Bạn có thể dùng hàm IF(), theo mẫu:
=IF(cell<0, flag)

Với cell là giá trị doanh số mà bạn muốn theo dõi, và flag là dấu hiệu để mô tả, ví dụ, cell chứa giá trị doanh số là B2:
=IF(B2<0, "<<<<<")

Để những dấu "<" tỷ lệ thuận với mức sụt giảm doanh số bán hàng, bạn có thể dùng hàm REPT (http://www.giaiphapexcel.com/forum/showpost.php?p=46987&postcount=13)(), với công thức:
REPT("<" , B2 * -100)

Ở đây, phải nhân giá trị của B2 với -100, bởi vì chúng ta chỉ xét những trường hợp B2<0

Và công thức hoàn chỉnh để thể hiện mức độ sụt giảm doanh số của từng mặt hàng sẽ là:
=IF(B2<0, REPT("<" , B2 * -100))


Hình sau đây minh họa cho ví dụ vừa rồi:

http://www.giaiphapexcel.com/forum/mk:@MSITStore:C:\Documents%20and%20Settings\khoavu \Desktop\destop\Excel_Function_and_Formulas.chm::/images/p2_1logic_files/image002.jpg


Xử lý trường hợp xảy ra khi biểu thức sai (FALSE)

Xem hình trên, có lẽ bạn sẽ không thích thấy những chữ FALSE hiện ra khi giá trị trong cột B lớn hơn không.
Tuy rằng cứ để vậy thì công thức của chúng ta vẫn đúng, tuy nhiên "không đẹp", nên chăng ta thay các chữ FALSE đó bằng những ký tự rỗng, những ký tự trắng ?

Chúng ta sẽ dùng hàm IF() với cấu trúc sau:

Cú pháp: IF(logical_test, value_is_true, value_is_false)

_____logical_test: Một biểu thức sẽ được xét xem đúng (TRUE) hay sai (FALSE)

_____value_is_true: giá trị trả về khi biểu thức logical_test được kiểm tra là đúng (TRUE)

_____value_is_false: giá trị trả về khi biểu thức logical_test được kiểm tra là không đúng (FALSE)

Ví dụ:
=IF(A1 >= 1000, "It’s big!", "It’s not big!")

Nghĩa là, nếu giá trị ở A1 lớn hơn hoặc bằng 1000, thì kết quả nhận được sẽ là "It's big!", còn không, nếu A1 nhỏ hơn 1000, kết quả sẽ là "It's not big!"

Trở lại ví dụ về theo dõi mức sụt giảm doanh số bán ra ở trên, để không còn thấy những chữ FALSE, chúng ta sẽ sửa lại công thức:
=IF(B2<0, REPT("<" , B2 * -100), "")

Kết quả có được là hình sau:
http://www.giaiphapexcel.com/forum/mk:@MSITStore:C:\Documents%20and%20Settings\khoavu \Desktop\destop\Excel_Function_and_Formulas.chm::/images/p2_1logic_files/image003.jpg

Xử lý trường hợp chia cho 0

Đôi khi, do không để ý, trong bảng tính của chúng ta sẽ gặp phải những trường hợp chia cho số 0. Những khi đó, Excel sẽ báo lỗi là #DIV/0!

Để tránh xảy ra trường hợp này, có thể dùng hàm IF().

Ví dụ: Với A= doanh số bán ra, B= chi phí, thì lỷ lệ lợi nhuận có thể tính như sau
=IF(A <> 0 , (A-B)/A, "Doanh số bán = 0!")

congthanh6868
04-02-10, 05:47 PM
Chào các bạn.

Mình có bài tập như trong file dữ liệu mẫu thì liệu có áp dụng hàm IF được không, và áp dụng như thế nào. Rất mong các bạn giúp đỡ.

Cám ơn các bạn nhiều.

Ba Tê
04-02-10, 07:25 PM
Chào các bạn.

Mình có bài tập như trong file dữ liệu mẫu thì liệu có áp dụng hàm IF được không, và áp dụng như thế nào. Rất mong các bạn giúp đỡ.

Cám ơn các bạn nhiều.
-----------
Chẳng biết bạn muốn như thế nào,
tôi chỉ hiểu theo tôi hiểu, bạn thử xem có giúp ích gì không?

MinhCong
05-02-10, 08:17 AM
Chào các bạn.

Mình có bài tập như trong file dữ liệu mẫu thì liệu có áp dụng hàm IF được không, và áp dụng như thế nào. Rất mong các bạn giúp đỡ.

Cám ơn các bạn nhiều.
Bài này chủ yếu dùng hàm mod hoặc if kết hợp với hàm and, or. Bạn xem file nhé!

congthanh6868
21-02-10, 10:28 PM
Thêm 1 bài tập nữa mong các bạn giúp đỡ. mình có các số 2 chữ số như sau: 34 76 29 66 83 71. mình muốn sắp xếp lại như sau: 34 67 29 66 38 17 (tức là nếu một số có số đứng trước nhỏ hơn số đứng sau thì giữ nguyên, ví dụ: 34; nếu 1 số có số đứng trước lớn hơn số đứng sau thì đổi vị trí lại, ví dụ 83 thành 38; trường hợp 2 số trước và sau đều giống nhau thì cũng giữ nguyên, ví dụ 66) thì dùng hàm if kết hợp với hàm nào khác? hoặc là có hàm nào phù hợp không? Mong các bạn giúp đỡ. Cám ơn các bạn.

cadafi
21-02-10, 11:12 PM
Thêm 1 bài tập nữa mong các bạn giúp đỡ. mình có các số 2 chữ số như sau: 34 76 29 66 83 71. mình muốn sắp xếp lại như sau: 34 67 29 66 38 17 (tức là nếu một số có số đứng trước nhỏ hơn số đứng sau thì giữ nguyên, ví dụ: 34; nếu 1 số có số đứng trước lớn hơn số đứng sau thì đổi vị trí lại, ví dụ 83 thành 38; trường hợp 2 số trước và sau đều giống nhau thì cũng giữ nguyên, ví dụ 66) thì dùng hàm if kết hợp với hàm nào khác? hoặc là có hàm nào phù hợp không?
Bạn nói rõ thêm, chuỗi của bạn chỉ có 6 cặp số cách nhau bởi dấu " " (space) hay là các cặp số trong chuỗi là không xác định?

gaunuicr
22-02-10, 12:07 AM
Thêm 1 bài tập nữa mong các bạn giúp đỡ. mình có các số 2 chữ số như sau: 34 76 29 66 83 71. mình muốn sắp xếp lại như sau: 34 67 29 66 38 17 (tức là nếu một số có số đứng trước nhỏ hơn số đứng sau thì giữ nguyên, ví dụ: 34; nếu 1 số có số đứng trước lớn hơn số đứng sau thì đổi vị trí lại, ví dụ 83 thành 38; trường hợp 2 số trước và sau đều giống nhau thì cũng giữ nguyên, ví dụ 66) thì dùng hàm if kết hợp với hàm nào khác? hoặc là có hàm nào phù hợp không? Mong các bạn giúp đỡ. Cám ơn các bạn.

Giả sử các số của bạn ở cột A (A1 đến A6) thì ở B1 bạn nhập công thức sau:
=IF(QUOTIENT(A1;10)<=MOD(A1;10);A1;MOD(A1;10)*10+QUOTIENT(A1;10))
Nếu máy bạn chưa có hàm QUOTIENT() thì dùng công thức:
=IF((A1-MOD(A1;10))/10<=MOD(A1;10);A1;MOD(A1;10)*10+(A1-MOD(A1;10))/10)

congthanh6868
22-02-10, 05:19 AM
Bạn nói rõ thêm, chuỗi của bạn chỉ có 6 cặp số cách nhau bởi dấu " " (space) hay là các cặp số trong chuỗi là không xác định?

6 cặp số của mình lần nằm trong các ô từ a1 đến a6. Mình đã sử dụng công thức thứ 2 của bạn gaunuicr và đã thành công. nếu bạn có công thức nào khác thì chia sẽ với mình nhé. cám ơn bạn nhiều!

congthanh6868
22-02-10, 05:42 AM
Giả sử các số của bạn ở cột A (A1 đến A6) thì ở B1 bạn nhập công thức sau:
=IF(QUOTIENT(A1;10)<=MOD(A1;10);A1;MOD(A1;10)*10+QUOTIENT(A1;10))
Nếu máy bạn chưa có hàm QOUTIENT() thì dùng công thức:
=IF((A1-MOD(A1;10))/10<=MOD(A1;10);A1;MOD(A1;10)*10+(A1-MOD(A1;10))/10)

Cám ơn bạn, mình đã áp dụng công thức thứ 2 của bạn và đã thành công. nhưng có 1 vấn đề phát sinh là nếu số của mình là những số kết thúc = số 0, ví dụ: 10, 20, 30..., 90 thì công thức sẽ trả về chỉ là 1 số: 1, 2, 3,...,9, nhưng điều mình mong muốn là sẽ trả về: 01, 02, 03, ...., 09. Nếu bạn giúp mình được vấn đề này nữa thì tốt quá. Cám ơn bạn nhiều.

ThanhPhương
22-02-10, 07:04 AM
Cám ơn bạn, mình đã áp dụng công thức thứ 2 của bạn và đã thành công. nhưng có 1 vấn đề phát sinh là nếu số của mình là những số kết thúc = số 0, ví dụ: 10, 20, 30..., 90 thì công thức sẽ trả về chỉ là 1 số: 1, 2, 3,...,9, nhưng điều mình mong muốn là sẽ trả về: 01, 02, 03, ...., 09. Nếu bạn giúp mình được vấn đề này nữa thì tốt quá. Cám ơn bạn nhiều.

Dùng công thức sau cho ô B1
=IF(LEFT(A1,1)<=RIGHT(A1,1),A1,IF(RIGHT(A1,1)="0",RIGHT(A1,1)&LEFT(A1,1),(RIGHT(A1,1)&LEFT(A1,1))*1))
Copy xuống dưới
Lưu ý với trương hợp cả hai chữ số khác 0 thì công thức trả về giá trị số, ngược lại sẽ trả về giá trị TEXT(VD : 01,02,03...là TEXT)

BNTT
22-02-10, 09:06 AM
Thêm 1 bài tập nữa mong các bạn giúp đỡ. mình có các số 2 chữ số như sau: 34 76 29 66 83 71. mình muốn sắp xếp lại như sau: 34 67 29 66 38 17 (tức là nếu một số có số đứng trước nhỏ hơn số đứng sau thì giữ nguyên, ví dụ: 34; nếu 1 số có số đứng trước lớn hơn số đứng sau thì đổi vị trí lại, ví dụ 83 thành 38; trường hợp 2 số trước và sau đều giống nhau thì cũng giữ nguyên, ví dụ 66) thì dùng hàm if kết hợp với hàm nào khác? hoặc là có hàm nào phù hợp không? Mong các bạn giúp đỡ. Cám ơn các bạn.

Xin góp một công thức khác. Nhập vào ô B1 (rồi copy xuống dưới):

=IF(LEFT(A1)>RIGHT(A1), RIGHT(A1)*10+LEFT(A1), A1)

Công thức này chỉ đúng với những con số từ 00-99.

Để kết quả luôn là một con số có 2 chữ số (01, 02...), chỉ cần định dạng cho cột B với dạng "00":
(chọn cột B, gọi FormatCells, chọn tab Number, chọn mục Custom trong Category, gõ 00 vào trong khung Type)

huuthang_bd
22-02-10, 10:04 AM
Cực ngắn

=MIN(A1,--MID(A1&A1,2,2))

haonlh
22-02-10, 03:31 PM
Ta thêm hàm định dạng thành văn bản Text(so,"00"), nhưng chỉ đúng khi số có 1 hoặc 2 chữ số.

Đồng thời, tôi cũng sửa lại một chút công thức của gaunuicr
=TEXT(IF(INT(A1/10)<MOD(A1,10),A1,MOD(A1,10)*10+INT(A1/10)),"00")

Gửi xong thấy bài của huuthang_bd, thấy hay, nên sửa lại là
=TEXT(MIN(A1,--MID(A1&A1,2,2)),"00")

Ba Tê
22-02-10, 09:28 PM
Ta thêm hàm định dạng thành văn bản Text(so,"00"), nhưng chỉ đúng khi số có 1 hoặc 2 chữ số.

Đồng thời, tôi cũng sửa lại một chút công thức của gaunuicr
=TEXT(IF(INT(A1/10)<MOD(A1,10),A1,MOD(A1,10)*10+INT(A1/10)),"00")

Gửi xong thấy bài của huuthang_bd, thấy hay, nên sửa lại là
=TEXT(MIN(A1,--MID(A1&A1,2,2)),"00")
-----------


=MIN(A1,--MID(A1&A1,2,2)) -----đây là number
Tôi chẳng thấy có gì hay khi thay bằng

=TEXT(MIN(A1,--MID(A1&A1,2,2)),"00") ------ đây là text
Trong khi tác giả chỉ yêu cầu:

mình có các số 2 chữ số như sau: 34 76 29 66 83 71. mình muốn sắp xếp lại như sau: 34 67 29 66 38 17 (tức là nếu một số có số đứng trước nhỏ hơn số đứng sau thì giữ nguyên, ví dụ: 34; nếu 1 số có số đứng trước lớn hơn số đứng sau thì đổi vị trí lại, ví dụ 83 thành 38; trường hợp 2 số trước và sau đều giống nhau thì cũng giữ nguyên, ví dụ 66)
Chẳng lẽ khi muốn chuyển lại thành số thì:

=--TEXT(MIN(A1,--MID(A1&A1,2,2)),"00")
Tác giả không đặt ví dụ 20 có thành 02 hay không, nếu có chắc phải dùng format để thống nhất kiểu dữ liệu, chứ từ số trở thành text thì không hợp lý lắm.

gaunuicr
23-02-10, 07:35 PM
Cám ơn bạn, mình đã áp dụng công thức thứ 2 của bạn và đã thành công. nhưng có 1 vấn đề phát sinh là nếu số của mình là những số kết thúc = số 0, ví dụ: 10, 20, 30..., 90 thì công thức sẽ trả về chỉ là 1 số: 1, 2, 3,...,9, nhưng điều mình mong muốn là sẽ trả về: 01, 02, 03, ...., 09. Nếu bạn giúp mình được vấn đề này nữa thì tốt quá. Cám ơn bạn nhiều.

Đơn giản thôi bạn à! Chỉ cần định dạng kiểu hiển thị của cột B thôi. Làm vầy nè: Bạn chọn vùng dữ liệu ở cột B, vào chức năng Format Cells... (Dùng chuột phải), chọn Custom. Quét chọn trong khung Type, nhập 00 rồi OK. Đảm bảo bạn sẽ hài lòng!
Thân!

gaunuicr
23-02-10, 07:43 PM
Cực ngắn

=MIN(A1,--MID(A1&A1,2,2))

Rất gọn. Cảm ơn bạn. Tuy nhiên để đúng theo yêu cầu của bạn congthanh6868 với các số như 20 chẳng hạn thì cũng phải định dạng lại dữ liệu cột B thôi.

ndu96081631
24-02-10, 08:45 AM
Rất gọn. Cảm ơn bạn. Tuy nhiên để đúng theo yêu cầu của bạn congthanh6868 với các số như 20 chẳng hạn thì cũng phải định dạng lại dữ liệu cột B thôi.
Lống hàm TEXT vào công thức trên cũng được vậy bạn!

letung999
24-05-10, 11:09 AM
Các bạn cho mình hỏi cách sử dụng hàm if trong trường hợp này như thế nào nhé:

VD : ô A1 mình nhập 12
ô B1 mình nhập 24
ô D1 mình tính theo đơn giá 9000đ ra kết quả : 324.000
Trong trường hợp cũng những ô đó ở ô D1 mình tính theo đơn giá là 10.000 đ cho ra kết quả là 360.000
Như vậy mình dùng công thức như thế nào để excel có thể cho ra kết qủa ở ô E1 nếu ở D1 mình tính đơn giá 9000 thì ô E1 cho tra kết quả là 90, hoặc D1 mình tính đơn giá 10.000 thì ô E1 cho ra kết quả là 10.
Mong các bạn chỉ giúp.Thanksssssss.....

dat_butmuc
24-05-10, 11:37 AM
Các bạn cho mình hỏi cách sử dụng hàm if trong trường hợp này như thế nào nhé:

VD : ô A1 mình nhập 12
ô B1 mình nhập 24
ô D1 mình tính theo đơn giá 9000đ ra kết quả : 324.000
Trong trường hợp cũng những ô đó ở ô D1 mình tính theo đơn giá là 10.000 đ cho ra kết quả là 360.000
Như vậy mình dùng công thức như thế nào để excel có thể cho ra kết qủa ở ô E1 nếu ở D1 mình tính đơn giá 9000 thì ô E1 cho tra kết quả là 90, hoặc D1 mình tính đơn giá 10.000 thì ô E1 cho ra kết quả là 10.
Mong các bạn chỉ giúp.Thanksssssss.....

Thì E1=IF(D1/100=100,D1/1000,D1/100)
Chưa hiểu bạn hỏi với mục đích gì & sao phải làm thế ?
Vui thật ???

letung999
24-05-10, 03:32 PM
Thì E1=IF(D1/100=100,D1/1000,D1/100)
Chưa hiểu bạn hỏi với mục đích gì & sao phải làm thế ?
Vui thật ???
Đơn giản vì Cty mình bán 1 sản phẩm với nhiều đơn giá khác nhau cho nên, mình muốn bán giá nào thì excel sẽ đưa ra mức giá đó ở ô E1, cuối tháng mình chỉ vịệc lọc theo đơn giá bán để làm báo cáo
VD : bán mức giá 10.000 thì E1 ---> 10, mức 9000 thì E1---->90

DUCTOAN272
24-05-10, 04:27 PM
Bạn cần cho biết rõ là D1 chỉ có hai giá trị là 9000 và 10000 hay còn nhiều giá trị khác (có thay đổi), và giá trị tại E1 là một kết quả thôi hay còn dùng tham chiếu cho các bảng khác nếu chỉ hiện ra kết quả thỉ bạn chỉ cấn dùng một If là dược rồi mà.

letung999
24-05-10, 06:44 PM
Có thể do mình diễn giải không thoát ý, bây giờ mình nói ngắn gọn thế này :
Nếu mình nhập vào ô E 1 là số 90 thì ô D1 sẽ tự động tính theo công thức như thế này =(a1*9000)+(b1*9000)---> cho ra kết quả là :324.000
hoặc mình nhập vào ô E 1 là số 10 thì ô D1 sẽ tự động tính theo công thức như thế này =(a1*10000)+(b1*10000)---> cho ra kết quả là :360.000
hoặc ...........................................
MÌnh sử dụng hàm if kết hợp nhưng không được, bạn xem công thức mình làm sai ở chỗ nào nhé:
=if(e1=90,((a1*9000)+(b1*9000))), if(e1=10,((a1*10000)+(b1*10000)))

Ba Tê
24-05-10, 09:40 PM
Có thể do mình diễn giải không thoát ý, bây giờ mình nói ngắn gọn thế này :
Nếu mình nhập vào ô E 1 là số 90 thì ô D1 sẽ tự động tính theo công thức như thế này =(a1*9000)+(b1*9000)---> cho ra kết quả là :324.000
hoặc mình nhập vào ô E 1 là số 10 thì ô D1 sẽ tự động tính theo công thức như thế này =(a1*10000)+(b1*10000)---> cho ra kết quả là :360.000
hoặc ...........................................
MÌnh sử dụng hàm if kết hợp nhưng không được, bạn xem công thức mình làm sai ở chỗ nào nhé:
=if(e1=90,((a1*9000)+(b1*9000))), if(e1=10,((a1*10000)+(b1*10000)))
1. Công thức của Bạn dư các dấu mở - đóng ngoặc đơn, chỉnh lại như vầy:

=IF(E1=90;(A1*9000)+(B1*9000);IF(E1=10;(A1*10000)+ (B1*10000)))2. Tự Bạn quyết định dùng số 90 thay cho 9.000 và 10 thay cho 10.000 hay do bị "bắt buộc"?
Tại sao không dùng số 9 thay cho 9.000 và số 10 thay cho 10.000 hay 15 thay cho 15.000 v.v...
Nếu được như thế thì công thức đơn giản hơn rất nhiều, không mắc mớ gì phải if() nhiều thế đâu.

letung999
25-05-10, 09:56 AM
Cám ơn bạn, mình đã làm được rồi theo cách sửa của bạn, và công thức của mình như sau :
=IF(S7=75,(F7*62000/4)+(G7*75000/12)+(H7*75000/24)+(I7*64000/24),IF(S7=71,(F7*62000/4)+(G7*71000/12)+(H7*71000/24)+(I7*64000/24),IF(S7=72,(F7*62000/4)+(G7*72000/12)+(H7*72000/24)+(I7*64000/24),IF(S7=74,(F7*62000/4)+(G7*74000/12)+(H7*74000/24)+(I7*64000/24)))))

Bạn xem giúp mình có thể rút gọn công thức này được không nhé. Thankssssssss
ah, bạn chỉ thêm cho mình khi không nhập dữ liệu thì công thức báo lỗi FALSE có cách nào khắc phục để không hiện lỗi này lên được không bạn, để bảng tính nhìn đẹp hơn.?????

Ba Tê
25-05-10, 10:52 AM
Cám ơn bạn, mình đã làm được rồi theo cách sửa của bạn, và công thức của mình như sau :
=IF(S7=75,(F7*62000/4)+(G7*75000/12)+(H7*75000/24)+(I7*64000/24),IF(S7=71,(F7*62000/4)+(G7*71000/12)+(H7*71000/24)+(I7*64000/24),IF(S7=72,(F7*62000/4)+(G7*72000/12)+(H7*72000/24)+(I7*64000/24),IF(S7=74,(F7*62000/4)+(G7*74000/12)+(H7*74000/24)+(I7*64000/24)))))

Bạn xem giúp mình có thể rút gọn công thức này được không nhé. Thankssssssss
ah, bạn chỉ thêm cho mình khi không nhập dữ liệu thì công thức báo lỗi FALSE có cách nào khắc phục để không hiện lỗi này lên được không bạn, để bảng tính nhìn đẹp hơn.?????
Có thể không xài IF như file đính kèm:

=SUM((A4*62/4);(B4*G4/12);(C4*G4/24);(D4*64/24))*1000

letung999
25-05-10, 08:12 PM
Qúa hay, xin bái phục.................

mr.fearless
11-10-10, 03:13 PM
Mọi người ơi giúp em giải bài này với Y_Y em mù tịt về excel Y_Y
many thks ^^53373

nguyenmanhhao
11-10-10, 04:03 PM
Bạn xem file đính kèm

mr.fearless
11-10-10, 04:54 PM
thks bạn nha ^^ mình phải học thêm excel thui :P

ha1210
22-03-11, 03:23 PM
Mình có một bài tập sau mà chưa biết viết như thế nào:
- Nếu bán được từ 1-3 sản phẩm thì được hoa hồng 500/sản phẩm --> cột tổng tiền = Hoa hồng*số sản phẩm bán được
- Nếu bán được từ 4-7 sản phẩm thì được HH 800/sản phẩm
- Nếu bán được từ 7-10 sản phẩm thì được HH 1000/sản phẩm.
Các bạn giúp mình nhé. Mình chỉ có thể làm được theo từng dữ kiện mà chưa thể ghép tất cả các dữ kiện vào trong một hàm được.
Cảm ơn các bạn :D

dat_butmuc
22-03-11, 03:29 PM
Mình có một bài tập sau mà chưa biết viết như thế nào:
- Nếu bán được từ 1-3 sản phẩm thì được hoa hồng 500/sản phẩm --> cột tổng tiền = Hoa hồng*số sản phẩm bán được
- Nếu bán được từ 4-7 sản phẩm thì được HH 800/sản phẩm
- Nếu bán được từ 7-10 sản phẩm thì được HH 1000/sản phẩm.
Các bạn giúp mình nhé. Mình chỉ có thể làm được theo từng dữ kiện mà chưa thể ghép tất cả các dữ kiện vào trong một hàm được.
Cảm ơn các bạn :D


Bạn dùng công thức sau (giả sử ô chứa sản phẩm bắt đầu tại A1):
=LOOKUP(A1,{0,1,3,7},{0,5,8,10})*100*A1
Nếu >10 sản phẩm thì sao, tôi đang để ngỏ điều kiện đó, cần thì thêm vào sau số 7 và số 10 của công thức trên

suoixanh_nt
22-03-11, 03:32 PM
Mình có một bài tập sau mà chưa biết viết như thế nào:
- Nếu bán được từ 1-3 sản phẩm thì được hoa hồng 500/sản phẩm --> cột tổng tiền = Hoa hồng*số sản phẩm bán được
- Nếu bán được từ 4-7 sản phẩm thì được HH 800/sản phẩm
- Nếu bán được từ 7-10 sản phẩm thì được HH 1000/sản phẩm.
Các bạn giúp mình nhé. Mình chỉ có thể làm được theo từng dữ kiện mà chưa thể ghép tất cả các dữ kiện vào trong một hàm được.
Cảm ơn các bạn :D

Giả sử tại ô A1: số lượng sản phẩm bán
Thì hoa hồng được hưởng tại ô B1:=LOOKUP(A1,{1,4,7},{500,800,1000})*A1

mango08
02-11-11, 05:53 PM
Mình có một bài cần hỏi, xin các anh chị giúp cho:

Ba Tê
02-11-11, 08:51 PM
Mình có một bài cần hỏi, xin các anh chị giúp cho:
Trời ơi, biết chết liền.

bigpiger
03-12-11, 01:15 PM
Nhờ ace lấy hàm tính số lần Nợ/Có >50tr, <50tr, tks bạn trước.

bigpiger
03-12-11, 01:18 PM
Nhờ ace sữa bài excel này.

leonguyenz
03-12-11, 01:31 PM
Nhờ ace sữa bài excel này.
Bạn xem trong file, và làm thêm ví dụ cho trường hợp bé hơn (thay dấu <):

bigpiger
03-12-11, 01:40 PM
Vậy làm sao thể hiện Nợ >50 tr bao nhiêu lần, <50 tr bao nhiêu lần, nhờ bạn chỉ giáo mình, tks bạn nhiều.

bebo021999
03-12-11, 02:33 PM
Vậy làm sao thể hiện Nợ >50 tr bao nhiêu lần, <50 tr bao nhiêu lần, nhờ bạn chỉ giáo mình, tks bạn nhiều.
Bạn làm như ai cũng làm kế toán để hiểu D=Debit=Nợ; C=Credit=Có?
Chờ mãi không thấy Ndu vô --=0, đành giải vậy:
Nợ >=50.000.000

=SUMPRODUCT(($A$2:$A$7="D")*($B$2:$B$7>=50000000))
Bạn thay dấu >=, <, và thay D bằng C nhé cho các trường hợp khác

sonca247
29-12-11, 10:08 PM
Vấn đề xét một giá trị nằm trong một khoảng
Có một bạn, khi nói đến một giá trị nằm trong khoảng từ 3 đến 10, đã dùng công thức 3 < x < 10 trong một công thức của hàm IF()
Không sai. Nhưng Excel thì "hổng hỉu". Vậy phải viết sao để Excel "hỉu" ?

Bạn ấy phải viết như vầy:
AND(x>3, x<10)


Mình vẫn không hỉu sao excel lại không hỉu, đến excel2010 hay thế cũng vẫn không hỉu. Pó tay.

bigpiger
05-01-12, 08:58 PM
Các bạn giúp mình bài toán này nha.

Ba Tê
05-01-12, 10:04 PM
à mình hỏi là anh em, anh chị em, mình không biết xưng thế nào nhanh, sorry bạn nhe. nhờ bạn xem dùm mình. tks.
Xem file đính kèm, vùng màu xanh là công thức.

bigpiger
19-01-12, 06:08 AM
Nhờ anh em GPE giải dùm mình bài toán cua công việc mình đang làm, nhưng chưa giải quyết như ý muốn. Nhờ các anh em diễn đàn hướng dẫn mình thực hiện. Cám ơn trước nhe.

bebo021999
19-01-12, 09:52 AM
Nhờ anh em GPE giải dùm mình bài toán cua công việc mình đang làm, nhưng chưa giải quyết như ý muốn.
Dùng công thức này:

=MAX(($D$2+$C$2/24-$B$2-$A$2/24)*120,-50)

bigpiger
19-01-12, 10:20 AM
NHờ bạn xem lại, mình nhập vô không thấy số điểm cộng điểm trừ là bao nhiêu, nhờ bạn chỉ dẫn giúp, cám ơn bạn đã trả lời chỉ mình.

bebo021999
19-01-12, 10:25 AM
Bạn nói " trước/sau 8h giờ chuẩn của ngày chuẩn" cụ thể là sao? Trong ví dụ của bạn, kết quả tính tay là bao nhiêu?

bigpiger
19-01-12, 10:32 AM
Giờ chuẩn 15 là thời hạn gửi, để có xếp hạng thì đơn vị nào gửi trước 08h ngày 01/01/2012 cứ 1h là cộng 5 đ và ngược lại. nhưng trừ tối đa là 50. Nhờ bạn xem dùm. (Ô màu vàng là mình tính riêng chắc cũng không cần thiết)

bebo021999
19-01-12, 10:57 AM
Giờ chuẩn 15 là thời hạn gửi, để có xếp hạng thì đơn vị nào gửi trước 08h ngày 01/01/2012 cứ 1h là cộng 5 đ và ngược lại. nhưng trừ tối đa là 50. Nhờ bạn xem dùm. (Ô màu vàng là mình tính riêng chắc cũng không cần thiết)

Copy công thức này vào G2:

=MAX((D2+8/24-B2-A2/24)*120,0)+MAX(MIN((D2+C2/24+8/24-B2-A2/24)*120,0),-50)
Các ô E2và F2 không cần thiết.

Trang Yugi
11-03-12, 08:00 PM
Mình có 1 bảng danh sách các trường
yêu cầu dùng hàm IF và hàm Find, thêm 1 cột mới
Để:
Nếu tên trường chứa chữ :THPT thì loại trường là THPT
-------------------------THPT DL ------------- Dân Lập
Ai giúp mình đc không ?

ngocthuykt
24-03-12, 03:20 PM
AI GIOI VE HAM IF GIUP MINH VOI:
CHO CỘT H CHUA DU LIEU A,B,C,D
Làm thế nào nếu A=200000, B=100000, Còn C,D =0,
Mong các bạn giúp đỡ mình nhé.Thank

hophoang
24-03-12, 03:31 PM
Trường hợp của bạn chỉ có A và B có mang giá trị thì sử dụng công thức này
=IF(H2="a",200000,IF(H2="b",100000,0))

kicon
19-05-12, 11:23 AM
Hàm if và and kết hợp viết trong vba nh7 thế nào vậy các anh chị...

dothao20589
11-09-12, 09:37 AM
Mình loay hoay cả ngày mà mò không ra. Mình có tải file đính kèm. Hãy giúp mình nhé. Mình đang rất cần. Cảm ơn cả nhà nhiều!

Ba Tê
11-09-12, 11:26 AM
Mình loay hoay cả ngày mà mò không ra. Mình có tải file đính kèm. Hãy giúp mình nhé. Mình đang rất cần. Cảm ơn cả nhà nhiều!
Xem file này đi, có 1 cột phụ làm list chọn, 2 name

dothao20589
11-09-12, 02:15 PM
Trời ơi ý của bạn Ba Tê, không gì có thể tốt hơn được nữa.
Nhưng mình lại không thể nào áp dụng vào số liệu của mình được. Nó cứ trả về kết quả bằng 00/01/1900. Mình tìm cả buổi chiều mà cũng không tìm ra sai chỗ nào. Chắc do mình chưa hiểu rõ bản chất. hic hic
Mình có tải file đính kèm hãy giúp mình nhé cả nhà. Mình đang rất rất cần. Cảm ơn cả nhà nhiều lắm.

Ba Tê
12-09-12, 09:25 AM
Trời ơi ý của bạn Ba Tê, không gì có thể tốt hơn được nữa.
Nhưng mình lại không thể nào áp dụng vào số liệu của mình được. Nó cứ trả về kết quả bằng 00/01/1900. Mình tìm cả buổi chiều mà cũng không tìm ra sai chỗ nào. Chắc do mình chưa hiểu rõ bản chất. hic hic
Mình có tải file đính kèm hãy giúp mình nhé cả nhà. Mình đang rất rất cần. Cảm ơn cả nhà nhiều lắm.
Dùng Name mà bạn sửa, chèn cột lung tung sao được. Biểu mẫu phải chính xác như ban đầu thì mới đúng kết quả chứ.
Cột C định dạng Date nên kết quả=0 thì sẽ hiển thị ngày 00/01/1900 theo hệ thống máy thôi, bạn phải nhập ngày cho cột Ngày CT ở sheet4.

dothao20589
12-09-12, 10:45 AM
Dùng Name mà bạn sửa, chèn cột lung tung sao được. Biểu mẫu phải chính xác như ban đầu thì mới đúng kết quả chứ.
Cột C định dạng Date nên kết quả=0 thì sẽ hiển thị ngày 00/01/1900 theo hệ thống máy thôi, bạn phải nhập ngày cho cột Ngày CT ở sheet4.
Ôi! Sư phụ. Em làm ra được rồi ạ. Nhưng không biết là có áp dụng được vào trường hợp khác không nữa, hihi Em vẫn thấy công thức này khó hiểu quá. Một lần nữa em xin được cảm ơn sư phụ ạ!

vohoangtung
17-09-12, 08:01 PM
Mình cần giúp về hàm if với. Mình có sheet1 là sheet tổng đến cột a mình đánh số 2 thì toàn bộ hàng số liệu ở hàng đó nhẩy sang sheet2. Còn nếu đánh là 3 thì toàn bộ dữ liệu đó sang sheet3, đánh là 4 thì nhẩy sang sheet4. Ai đó giúp mình với được không. Nếu được lam ơn gửi vao hoam thư của mình vo_hoang_tung@yahoo.com. Thanks

Ba Tê
18-09-12, 08:47 AM
Ôi! Sư phụ, xin hãy nhận của đệ tử một lạy. Em làm ra được rồi ạ. Nhưng không biết là có áp dụng được vào trường hợp khác không nữa, hihi Em vẫn thấy công thức này khó hiểu quá. Một lần nữa em xin được cảm ơn sư phụ ạ!
Giải Pháp Excel là nơi cộng đồng trao đổi, học tập lẫn nhau, không có chuyện "ban ơn, lạy lục", bạn nên xoá mấy chữ màu đỏ đó đi, biết ơn chỉ cần nhấn nút "Cảm ơn" là đủ.
Nếu tác giả chưa xoá, nhờ Smod, Mod có ghé qua xin xoá giùm (kể cả bài này) cho GPE "xinh đẹp" một chút ạ!

dothao20589
18-09-12, 09:21 AM
Giải Pháp Excel là nơi cộng đồng trao đổi, học tập lẫn nhau, không có chuyện "ban ơn, lạy lục", bạn nên xoá mấy chữ màu đỏ đó đi, biết ơn chỉ cần nhấn nút "Cảm ơn" là đủ.
Nếu tác giả chưa xoá, nhờ Smod, Mod có ghé qua xin xoá giùm (kể cả bài này) cho GPE "xinh đẹp" một chút ạ!
. Vâng em sẽ rút kinh nghiệm ạ. Cảm ơn anh đã nhắc nhở. Và cái file của em nó lại gặp rắc rối rồi ạ. Những dòng khoảng 500 trở xuống thì sang sheet lọc rất ok nhưng còn dòng khoảng 500 trở lên đến hơn 1000 thì lại không lọc được ạ. Em không biết là do lỗi ở đâu nữa. Mong cả nhà giúp em với! Em xin cảm ơn ạ!

Ba Tê
18-09-12, 09:33 AM
. Vâng em sẽ rút kinh nghiệm ạ. Cảm ơn anh đã nhắc nhở. Và cái file của em nó lại gặp rắc rối rồi ạ. Những dòng khoảng 500 trở xuống thì sang sheet lọc rất ok nhưng còn dòng khoảng 500 trở lên đến hơn 1000 thì lại không lọc được ạ. Em không biết là do lỗi ở đâu nữa. Mong cả nhà giúp em với! Em xin cảm ơn ạ!
Không thấy File thật của bạn nên không thể nói lỗi do đâu. Nhưng với ý tưởng lọc dữ liệu hàng ngàn dòng như vậy thì bạn nên chuyển sang VBA đi, dùng công thức mảng sẽ bị "Rùa" đó.
Bạn đưa file có cấu trúc dữ liệu "giống thật", yêu cầu "giống thật"... sẽ có người giúp bạn bằng VBA, nhanh gọn hơn nhiều.
Đừng đưa dữ liệu không đúng mẫu thật, sẽ không được gì đâu.

BODY_BODY
18-09-12, 10:39 AM
Mình có 1 bài toán rất đơn giản thế này nhưng không biết làm, các bạn chỉ dùm mình với.
Nếu cột A có giá trị 32 thì cột B nhận giá trị 1
Nếu cột A có giá trị 28 thì cột B nhận giá trị 2
Còn lại các giá trị khác của cột A thì cột B nhận giá trị 3

hoangminhtien
18-09-12, 10:42 AM
Bạn dùng hàm IF đi, công thức tại B1

IF(A1=32,1,IF(A1=28,2,3))

dothao20589
18-09-12, 05:01 PM
Hic hic mẫu của em là đúng thật nhưng có điều nó nhiều thôi a ạ. Em xin gửi lại như sau. Em muốn lọc 1 sheet nữa theo đối tượng. Xin cả nhà giúp đỡ em ạ!
...
...
...
Không ai giúp em sao? huhu Vậy anh Batê có thể giúp em hiểu hơn về công thức anh lập cho em như thế nào để em sửa được không ạ? file này rất quan trọng với công việc của em. Em cảm ơn nhiều!!!

sanguyen
25-09-12, 07:23 PM
em có một bài toán nhỏ như sau, muốn nhờ các anh/chị giúp ạ
Giả sử ta có một vùng dữ liệu gồm n số (0,1,2,3,4,5,....) (vùng dữ liệu này là các số không có quy luật gì)
Ta có một ô bất kỳ (giả dụ có giá trị là 11). Ta muốn kiểu tra xem giá trị của ô này có nằm trong vùng dữ liệu phía trên không thì xài công thức gì ạ. Ví dụ là nếu đúng thì ghi là "1"; nếu sai thì ghi là "0"
Cám ơn các a chị

bebo021999
25-09-12, 09:52 PM
em có một bài toán nhỏ như sau, muốn nhờ các anh/chị giúp ạ
Giả sử ta có một vùng dữ liệu gồm n số (0,1,2,3,4,5,....) (vùng dữ liệu này là các số không có quy luật gì)
Ta có một ô bất kỳ (giả dụ có giá trị là 11). Ta muốn kiểu tra xem giá trị của ô này có nằm trong vùng dữ liệu phía trên không thì xài công thức gì ạ. Ví dụ là nếu đúng thì ghi là "1"; nếu sai thì ghi là "0"
Cám ơn các a chị
Nhiều cách lắm, dùng COUNTIF, MATCH,...
VD:
=IF(COUNTIF(A:A,B1),1,0)
Với A:A là vùng chứa dữ liệu, B1 chứa gía trị muốn tìm

Ba Tê
25-09-12, 09:59 PM
Hic hic mẫu của em là đúng thật nhưng có điều nó nhiều thôi a ạ. Em xin gửi lại như sau. Em muốn lọc 1 sheet nữa theo đối tượng. Xin cả nhà giúp đỡ em ạ!
...
...
...
Không ai giúp em sao? huhu Vậy anh Batê có thể giúp em hiểu hơn về công thức anh lập cho em như thế nào để em sửa được không ạ? file này rất quan trọng với công việc của em. Em cảm ơn nhiều!!!
Dùng VBA nhé, Bạn đã thấy file bạn dùng công thức mới có hơn 500 dòng mà "Rùa" rồi đó.
Enable Macros là xong.
Chú ý, Sheet TT bạn muốn lọc đối tượng lúc thì có Họ tên, lúc thì tên, làm sao đây? Ví dụ lúc thì Ánh, Lúc thì Nguyễn Đức Ánh trong cột D sheet PS.

dothao20589
26-09-12, 10:21 AM
Dùng VBA nhé, Bạn đã thấy file bạn dùng công thức mới có hơn 500 dòng mà "Rùa" rồi đó.
Enable Macros là xong.
Chú ý, Sheet TT bạn muốn lọc đối tượng lúc thì có Họ tên, lúc thì tên, làm sao đây? Ví dụ lúc thì Ánh, Lúc thì Nguyễn Đức Ánh trong cột D sheet PS.
Vâng em hiểu rồi. Cảm ơn anh BaTê tại em nhập nhiều quá nên em không nhớ hết tên thành ra viết lung tung vậy đó.Em sẽ sửa ngay. hihi Công thức VBA hay thật đấy, em bấm một cái là nó chạy xong, công thức lúc trước chạy chậm em cứ chờ mãi. Lắm khi nó treo luôn. hihi Cảm ơn anh Batê và diễn đàn nhiều lắm!!!

do.phuong
01-10-12, 04:26 PM
Chào anh Ba Tê và các anh chị trên diễn đàn,

Nãy giờ em cố tìm hiểu các lệnh If, sumif, rồi thêm mấy lệnh anh Ba Tê viết cho mọi người nữa, thấy càng tìm hiểu càng dốt ác liệt, chẳng biết phải dùng lệnh nào. Em gửi theo bảng excel công việc cần làm. mong anh Ba Tê và các anh chị giúp đỡ em. Nếu ghi lệnh luôn cho em thì tốt quá, nếu không thì cho em biết chỗ nào cần dùng lệnh nào cũng được, em sẽ từ từ tìm hiểu và cố gắng làm. Bảng này em cần dùng rất nhiều, cho hàng trăm mã hàng luôn. Bình thường phải nhập hết bằng tay, hay bị nhầm lắm, hic. **~**
Cảm ơn anh chị rất rất nhiều!

(em vừa đơn giản hóa và giảm bớt yêu cầu với file của em ạ)

do.phuong
02-10-12, 09:12 AM
Chào anh Ba Tê và các anh chị trên diễn đàn,

Nãy giờ em cố tìm hiểu các lệnh If, sumif, rồi thêm mấy lệnh anh Ba Tê viết cho mọi người nữa, thấy càng tìm hiểu càng dốt ác liệt, chẳng biết phải dùng lệnh nào. Em gửi theo bảng excel công việc cần làm. mong anh Ba Tê và các anh chị giúp đỡ em. Nếu ghi lệnh luôn cho em thì tốt quá, nếu không thì cho em biết chỗ nào cần dùng lệnh nào cũng được, em sẽ từ từ tìm hiểu và cố gắng làm. Bảng này em cần d8984989849
Cảm ơn anh chị rất rất nhiều!

Em chỉnh lại yêu cầu với file excel. Mong mọi người hướng dẫn ạ. Em mày mò mãi không ra.
Em cảm ơn ạ!

Ba Tê
02-10-12, 09:30 AM
Em chỉnh lại yêu cầu với file excel. Mong mọi người hướng dẫn ạ. Em mày mò mãi không ra.
Em cảm ơn ạ!
Không hiểu bạn muốn như thế nào.
Bảng 1 "Cha" được thì cứ "Cha". Trong File là Char(10) nè.
Hay muốn làm bằng VBA?

Public Sub GPE()
Dim Rng(), Arr(), I As Long
With Sheet1
Rng = .Range(.[A6], .[A6].End(xlDown)).Resize(, 6).Value
ReDim Arr(1 To UBound(Rng, 1), 1 To 4)
For I = 1 To UBound(Rng, 1)
Arr(I, 1) = Rng(I, 1): Arr(I, 2) = Rng(I, 2)
Arr(I, 3) = Rng(I, 3) & Chr(10) & Rng(I, 4) & Chr(10) & Rng(I, 5)
Arr(I, 4) = Rng(I, 6)
Next I
.[A21].Resize(I - 1, 4).Value = Arr
End With
End Sub
Bảng 2 không làm được vì tôi xài Excel 2003, bạn "đòi" ghi đủ ngày trong năm, thêm cột Thông tin PO từng ngày thành 730 cột, thua!

do.phuong
02-10-12, 09:43 AM
Chào chú Ba Tê.
Cảm ơn chú đã check bảng giúp cháu.
Nếu trong bảng 2, cháu không ghi đủ các ngày trong năm, cháu chỉ ghi 3-5 ngày xuất hàng/tháng (kế hoạch xuất). Vậy mõi tháng chỉ còn 10 cột. Mỗi tháng dùng 1 sheet. Vậy có cách nào không chú?
Cháu quên: ngày tháng năm, cháu hay ghi dạng text để nó không bị nhảy snag dạng khác (tháng/ngày/năm). Nếu cần thì để định dạng date cũng được ạ.

Ba Tê
02-10-12, 11:14 AM
Chào chú Ba Tê.
Cảm ơn chú đã check bảng giúp cháu.
Nếu trong bảng 2, cháu không ghi đủ các ngày trong năm, cháu chỉ ghi 3-5 ngày xuất hàng/tháng (kế hoạch xuất). Vậy mõi tháng chỉ còn 10 cột. Mỗi tháng dùng 1 sheet. Vậy có cách nào không chú?
Cháu quên: ngày tháng năm, cháu hay ghi dạng text để nó không bị nhảy snag dạng khác (tháng/ngày/năm). Nếu cần thì để định dạng date cũng được ạ.
Không quá 256 cột thì có thể. "Làm ơn" nhập dữ liệu ngày tháng dạng Date giùm. Lúc Ngày lúc Text chắc "chết" quá.
Nhớ Enable Macros, bấm nút sheet2 là xong.

do.phuong
02-10-12, 11:27 AM
Cảm ơn chú nhiều ạ. Nhưng chú chỉ cho cháu lệnh Macro của chú được không? Vì đây là cháu chỉ lấy ví dụ có mấy mã thôi. Cột thông tin PO cũng không được đầy đủ như mẫu (do anh làm trước cháu không có cột này).
Nếu biết Macro cụ thể như thế nào (thay vì bấm ô GPE là ra luôn), cháu sẽ chỉnh lại bảng cho tử tế rồi áp dụng vào bảng lớn chính xác.

Ba Tê
02-10-12, 11:36 AM
Cảm ơn chú nhiều ạ. Nhưng chú chỉ cho cháu lệnh Macro của chú được không? Vì đây là cháu chỉ lấy ví dụ có mấy mã thôi. Cột thông tin PO cũng không được đầy đủ như mẫu (do anh làm trước cháu không có cột này).
Nếu biết Macro cụ thể như thế nào (thay vì bấm ô GPE là ra luôn), cháu sẽ chỉnh lại bảng cho tử tế rồi áp dụng vào bảng lớn chính xác.
Mở File, Ấn Alt+F11 sẽ thấy hết các code VBA được viết trong đó, sửa đổi tùy ý mà.

do.phuong
02-10-12, 11:45 AM
Phần code khó thật chú ạ. Cháu chưa hiểu gì cả, vì mới nghe nói đến Macro chứ chưa dùng bao giờ. Nhưng từ giờ đến mai cháu sẽ ngâm cứu, có gì không hiểu hay không làm nổi, chú lại chỉ tiếp cho cháu, được không chú?
cháu cảm ơn ạ.

Hong.Van
02-10-12, 11:54 AM
Phần code khó thật chú ạ. Cháu chưa hiểu gì cả, vì mới nghe nói đến Macro chứ chưa dùng bao giờ. Nhưng từ giờ đến mai cháu sẽ ngâm cứu, có gì không hiểu hay không làm nổi, chú lại chỉ tiếp cho cháu, được không chú?
cháu cảm ơn ạ.

Bạn hãy học trước khi hỏi
Học cái gì không biết thì hỏi
Thân!

do.phuong
02-10-12, 06:19 PM
Chú Ba Tê ơi,
Cháu áp dụng luôn Macro chú làm cho vào file xuất hàng cho bên Thái. Vấn đề như sau:
Khi cháu lập 1 bảng có sheet 1 tương tự như sheet chú làm cho (bắt đầu từ A4 đến F4), vào sheet 2, bấm run Macro GPE thì có báo lỗi như file đính kèm Run time errror '1004': Method 'Select' of object '_Worksheet' failed, và hiện bảng code Macro highlight vàng chỗ đầu trang.
Cháu cố làm gì đó thì nó hiện tiếp là: Can't execute code in break mode
Sau đó các file excel đang mở gần như đơ luôn.

Cháu hỏi thêm 2 câu ạ:
1. Nếu cháu làm thêm bảng kế hoạch xuất hàng, thì những chỗ mã code ghi Range("F4") sẽ ghi lại thành Range("E4"). Và Resize(, 6) ghi lại thành Resize(, 5) phải không ạ?
2. Đối với hàng xuất đi nước ngoài, tên hàng khó thuộc, trong sheet 1 cháu muốn để cột C là tên hàng. Và trong sheet 2, cột B sẽ là cột tên hàng luôn. Chú bổ sung giúp cháu với. Cháu cảm ơn.

Cháu thực sự chưa dùng Macro bao giờ, có gì sai sót chú bỏ qua cho cháu nhé, cứ làm phiền chú mãi. Cháu cũng tự ngồi mày mò, nhưng chưa đâu vào đâu cả.-+*/
Cảm ơn chú Ba Tê.

Ba Tê
02-10-12, 07:23 PM
Cháu hỏi thêm 2 câu ạ:
1. Nếu cháu làm thêm bảng kế hoạch xuất hàng, thì những chỗ mã code ghi Range("F4") sẽ ghi lại thành Range("E4"). Và Resize(, 6) ghi lại thành Resize(, 5) phải không ạ?
2. Đối với hàng xuất đi nước ngoài, tên hàng khó thuộc, trong sheet 1 cháu muốn để cột C là tên hàng. Và trong sheet 2, cột B sẽ là cột tên hàng luôn. Chú bổ sung giúp cháu với. Cháu cảm ơn.
Cháu thực sự chưa dùng Macro bao giờ, có gì sai sót chú bỏ qua cho cháu nhé, cứ làm phiền chú mãi. Cháu cũng tự ngồi mày mò, nhưng chưa đâu vào đâu cả.-+*/
Cảm ơn chú Ba Tê.
1/ Chẳng hiểu nó nằm trong code nào !?!?
2/ Đã thêm cột tên hàng cho sheet1 và sheet2.
Đưa bảng yêu cầu giống thật một chút đi bạn, thêm bớt điều kiện hoài hơi bị "sỉn"!

do.phuong
03-10-12, 09:16 AM
Chào chú Ba Tê, chúc chú một ngày tốt lành!

Cảm ơn chú rất rất nhiều ạ! Bảng hay quá!!! Có bảng này công việc của bọn cháu sẽ nhẹ nhàng và chính xác hơn hẳn.
Cháu trả lời từng câu:
1. Cháu copy Macro của chú rồi highlight vàng những chỗ cháu nghĩ sẽ thay đổi nếu muốn lập thêm bảng kế hoạch xuất hàng. Không biết như vậy đã đủ chưa chú? chỗ 256 highlight xanh vì cháu dùng excel 2007, có 16.284 cột, cháu có thể tăng số cột lên phải không ạ (để dùng cho công việc khác cần nhiều cột hơn)?
2. Bảng nào cũng là bảng thật đó chú. Bảng đầu tiên áp dụng cho khách hàng trong nước nên đơn giản hơn. Ban đầu cháu cứ nghĩ sẽ dùng các hàm excel (như if, and, vloookup, các hàm kết hợp) nên gửi lên bảng đơn giản nhất. Trước giờ bọn cháu cứ nhập bằng tay nên bảng nào cũng tối giản thông tin. Hiện tại cháu mới nhận làm việc này nên chưa lường được hết các tình huống phát sinh.
Vậy chú cho cháu thời gian từ giờ đến cuối tuần, cháu sẽ hỏi ý kiến mọi người, nghĩ ra các tình huống, rồi tổng kết và nhờ chú giúp thêm 1 lần nữa.

Cháu sẽ cố gắng tìm hiểu thêm các hàm excel nâng cao, cả macro nữa, lần sau có hỏi gì sẽ không phải nhờ chú làm giúp 100% như thế này. Cháu thực sự cảm ơn vì chú đã nhiệt tình giúp đỡ cháu ạ!

LikMoon258
03-10-12, 01:07 PM
Bác bate giúp e phần này với:
- Điền vào cột triết khấu biết nếu khách hàng là Quốc doanh thì giảm 5% hoặc những hóa đơn có thành tiền lớn hơn 5tr thì giảm ngay 500k, nếu hóa đơn nào thỏa mãn cả 2 thì chọn loại có triết khấu nhiều hơn.
- Sắp xếp lại các hóa đơn theo thứ tự tăng dần của ngày bán
- Cho biết có bao nhiêu loại mặt hàng bán trong tháng 8, tháng 9, tháng 10 (mỗi tháng 1 hàm)
- Cho biết tổng thành tiền của mặt hàng cát bán trong tháng 9

do.phuong
04-10-12, 10:55 AM
Chú Ba Tê ơi,

Cháu gửi bảng yêu cầu cuối cùng của cháu nhé. Dữ liệu để làm Macro sẽ lấy từ sheet "Bang trung gian".Bảng này đã tham khảo các loại ý kiến bên cty cháu, đảm bảo không thêm bớt, sửa đổi chi nữa. -\\/.
Chú giúp cháu với nhé.
Cảm ơn chú nhiều ạ!!!

do.phuong
06-10-12, 11:44 AM
Chú Ba Tê ơi,
Bảng của cháu có vấn đề gì không ạ? Cháu đợi mãi không thấy chú trả lời, nên thấy sốt ruột quá.

Ba Tê
08-10-12, 07:40 PM
Chú Ba Tê ơi,
Bảng của cháu có vấn đề gì không ạ? Cháu đợi mãi không thấy chú trả lời, nên thấy sốt ruột quá.
Cũng có xem nhưng làm được có 1 tý, còn thiếu cột tổng của từng tháng (bị oải cái này), chưa đủ sức để làm.
Xài tạm cái này. Khi nào nghĩ ra được cách làm sẽ tính sau.

do.phuong
09-10-12, 08:47 AM
Chào buổi sáng chú Ba Tê,

Thế này cũng tốt lắm rồi chú ah /-*+/. Cháu sẽ tạo thêm 1 sheet trung gian để tự tính tổng cho các tháng. Các anh chị bên cty cháu đều rất thích & hứng thú với bảng này, bọn cháu nghĩ sẽ có thể dùng thêm vào việc khác nữa, không chỉ là kế hoạch sản xuất thôi. Cháu cảm ơn chú nhiều ah!!! :-=
Để khắc phục vụ tính tổng hàng theo tháng, cháu tạo thêm sheet5: Tong hop luong xuat. Cháu có 1 câu hỏi nhỏ này cho sheet tiếp theo của bảng: có cột B là mã hàng - cột này ghi tất cả các mã hàng cty cháu sản xuất, mỗi mã chỉ ghi 1 lần. 1 mã hàng trong 1 ngày xuất có thể có nhiều lượng xuất khác nhau (do tổng hợp từ nhiều đơn hàng).
--> Nếu không dùng lệnh SUM dò từng mã mỗi ngày, cháu dùng lệnh nào để tự động link được tổng này ở sheet5 ah? Liệu dùng vlookup và kết hợp lệnh SUM có được không ạ?

do.phuong
09-10-12, 08:48 AM
xin lỗi, cháu quên file.

Ba Tê
09-10-12, 09:18 PM
Chào buổi sáng chú Ba Tê,

Thế này cũng tốt lắm rồi chú ah /-*+/. Cháu sẽ tạo thêm 1 sheet trung gian để tự tính tổng cho các tháng. Các anh chị bên cty cháu đều rất thích & hứng thú với bảng này, bọn cháu nghĩ sẽ có thể dùng thêm vào việc khác nữa, không chỉ là kế hoạch sản xuất thôi. Cháu cảm ơn chú nhiều ah!!! :-=
Để khắc phục vụ tính tổng hàng theo tháng, cháu tạo thêm sheet5: Tong hop luong xuat. Cháu có 1 câu hỏi nhỏ này cho sheet tiếp theo của bảng: có cột B là mã hàng - cột này ghi tất cả các mã hàng cty cháu sản xuất, mỗi mã chỉ ghi 1 lần. 1 mã hàng trong 1 ngày xuất có thể có nhiều lượng xuất khác nhau (do tổng hợp từ nhiều đơn hàng).
--> Nếu không dùng lệnh SUM dò từng mã mỗi ngày, cháu dùng lệnh nào để tự động link được tổng này ở sheet5 ah? Liệu dùng vlookup và kết hợp lệnh SUM có được không ạ?
Xem thử file này coi, có gì sửa tiếp.

do.phuong
10-10-12, 08:58 AM
Tuyệt vời chú ạ! Đây là ý kiến của văn phòng cty cháu :"quá siêu" - không biết trong chỗ chú thì nói như thế nào, chắc là "bá cháy" @$@!^%.
Cháu thấy bảng này quá ngon rồi. Chắc phải lâu lắm mới phát sinh thêm cái gì đó được.
Các yêu cầu với bảng này chú giúp thực hiện 99,9% rồi, cháu thấy còn 1 cái nữa: trong sheet3 và sheet4 (ke hoach lam hang, ke hoach xuat hang) hiển thị màu đỏ + nghiêng với các dòng hàng bị chậm hơn Due date. Không biết có làm được vụ này không chú nhỉ? Không được cũng không vấn đề gì chú ạ!

do.phuong
17-10-12, 05:30 PM
Chú Ba Tê ơi,

File của cháu bị lỗi gì đó. Cháu nghĩ có thể file nào đó bị lỗi nên tìm cách lập thêm các file khác, làm đi làm lại vẫn lỗi (sheet6: T10.2012). Cháu sử dụng lệnh Vlookup với các sheet của cùng 1 file thì bị lỗi. Nhưng lấy chính file đó copy ra, rồi lấy dữ liệu từ file copy để vlookup lại OK.
Cháu không tìm mãi mà không ra lỗi, hic! Chú tìm giúp cháu với ạ.
Cảm ơn chú nhiều.

Ba Tê
18-10-12, 10:59 AM
Chú Ba Tê ơi,

File của cháu bị lỗi gì đó. Cháu nghĩ có thể file nào đó bị lỗi nên tìm cách lập thêm các file khác, làm đi làm lại vẫn lỗi (sheet6: T10.2012). Cháu sử dụng lệnh Vlookup với các sheet của cùng 1 file thì bị lỗi. Nhưng lấy chính file đó copy ra, rồi lấy dữ liệu từ file copy để vlookup lại OK.
Cháu không tìm mãi mà không ra lỗi, hic! Chú tìm giúp cháu với ạ.
Cảm ơn chú nhiều.
Đã nói cái này:

Chú Ba Tê ơi,

Cháu gửi bảng yêu cầu cuối cùng của cháu nhé. Dữ liệu để làm Macro sẽ lấy từ sheet "Bang trung gian".Bảng này đã tham khảo các loại ý kiến bên cty cháu, đảm bảo không thêm bớt, sửa đổi chi nữa. -\\/.
Chú giúp cháu với nhé.
Cảm ơn chú nhiều ạ!!!
Bi giờ thêm sheet nữa.
Đã làm bằng VBA rồi còn dùng công thức chi nữa? Chơi luôn bằng VBA đi.
--------------------------
Đưa bài lên GPE là hỏi chung, ai trả lời được thì trả lời, không nên "hú" đích danh tên một người nào đó giúp, vì như vậy:
1. Đó là trao đổi riêng của 2 người, nên thông qua email cá nhân.
2. Người khác muốn giúp cũng "hổng thèm" vì người ta hổng "bị réo tên".
3. Híc! Híc!

do.phuong
18-10-12, 12:06 PM
Chào chú Ba Tê. Chào anh chị, cô chú trong diễn đàn,

Cảm ơn chú lại xem cho cháu.
Cho cháu biện minh 1 chút:
1. Cháu gửi lắt nhắt có lý do ạ. Cháu muốn làm mỗi tháng 1 sheet riêng, 1 năm có 12 sheet để cạnh nhau để dễ nhìn lại và dễ link số liệu tồn, dễ nhập số liệu xuất và các loại thêm bớt phát sinh bất ngờ nữa. Nghe có vẻ bày vẽ, nhưng khi làm kế hoạch, mỗi tháng 1 sheet thì nhìn lại tổng thể sẽ dễ hơn nhiều... Vậy nên cháu tính là mình sẽ dùng vlookup rồi tự làm, chứ không thể nhờ chú cả 12 sheet được, không ngờ làm lại bị lỗi và không thể sửa nổi. +-+-+-+ Xấu hổ quá.
Nếu cháu tạo thêm sheet riêng cho tháng 11, 12,... thì dùng VBA sẽ khó phải không ah? Cháu nghĩ vậy nên vẫn muốn dùng công thức chú ạ, hic. Nếu dùng công thức thì có cách nào không bị lỗi nữa không chú?

2. Người khác muốn giúp cũng "hổng thèm" vì người ta hổng "bị réo tên".
--> vụ này cháu xin lỗi và rút kinh nghiệm ạ.
Vậy mong mọi người giúp cháu xem file và cho cháu ý kiến + cho giải pháp vụ này giúp cháu.
Xin cảm ơn tất cả mọi người ạ!
Chúc cả nhà GPE ăn trưa ngon miệng!!

Ba Tê
18-10-12, 08:41 PM
Chào chú Ba Tê. Chào anh chị, cô chú trong diễn đàn,

Cảm ơn chú lại xem cho cháu.
Cho cháu biện minh 1 chút:
1. Cháu gửi lắt nhắt có lý do ạ. Cháu muốn làm mỗi tháng 1 sheet riêng, 1 năm có 12 sheet để cạnh nhau để dễ nhìn lại và dễ link số liệu tồn, dễ nhập số liệu xuất và các loại thêm bớt phát sinh bất ngờ nữa. Nghe có vẻ bày vẽ, nhưng khi làm kế hoạch, mỗi tháng 1 sheet thì nhìn lại tổng thể sẽ dễ hơn nhiều... Vậy nên cháu tính là mình sẽ dùng vlookup rồi tự làm, chứ không thể nhờ chú cả 12 sheet được, không ngờ làm lại bị lỗi và không thể sửa nổi. +-+-+-+ Xấu hổ quá.
Nếu cháu tạo thêm sheet riêng cho tháng 11, 12,... thì dùng VBA sẽ khó phải không ah? Cháu nghĩ vậy nên vẫn muốn dùng công thức chú ạ, hic. Nếu dùng công thức thì có cách nào không bị lỗi nữa không chú?

2. Người khác muốn giúp cũng "hổng thèm" vì người ta hổng "bị réo tên".
--> vụ này cháu xin lỗi và rút kinh nghiệm ạ.
Vậy mong mọi người giúp cháu xem file và cho cháu ý kiến + cho giải pháp vụ này giúp cháu.
Xin cảm ơn tất cả mọi người ạ!
Chúc cả nhà GPE ăn trưa ngon miệng!!
Muốn code không bị lỗi, phải thực hiện đúng 2 điều này:
1/ Tên các sheet tháng phải có 4 chữ số cuối cùng, ví dụ T01-2012, T12-2012,... Bạn tự thêm cho đủ 12 tháng nhé.
2/ Ô B2 của các sheet này phải nhập ngày tháng năm phù hợp với tháng của sheet đó.
Từ cột AI trở về sau : "Hổng biết", bạn tự lập công thức hoặc nhập gì đó tuỳ ý.
Muốn code hoạt động bạn phải mở sheet "Tong luong hang xuat" cập nhật dữ liệu trước, rồi mở các sheet tháng xem kết quả.
(Code chuyển dữ liệu sang tất cả các tháng 1 lần, khi đang ở sheet "Tong luong hang xuat" chuyển sang sheet khác)

do.phuong
19-10-12, 03:52 PM
Đa tạ chú Ba Tê. VBA quả thực làm được những điều không thể ngờ tới! Không biết học kiểu gì và học bao lâu mới được 1 phần của chú hay các thành viên gạo cội trên GPE!
Có 1 vấn đề: hiện có 126 mã hàng. Khi cháu cho thêm mã hàng hoàn toàn mới, là mã 128-3289, ngày xuất nằm trong T12. Sheet "Tong luong hang xuat" vẫn hiện lên mã này. Sheet T12-2012 không hiện lên, nên cháu cho thêm 1 hàng ngang, ghi tên mã mới, mở qua mở lại thử các sheet cũng không thấy hiện lên số lượng của mã này trong sheet T12-2012.

Nhờ chú và các thành viên trên diễn đàn giải quyết vấn đề này giúp cháu.
Cháu cảm ơn mọi người ạ!

Ba Tê
19-10-12, 10:46 PM
Đa tạ chú Ba Tê. VBA quả thực làm được những điều không thể ngờ tới! Không biết học kiểu gì và học bao lâu mới được 1 phần của chú hay các thành viên gạo cội trên GPE!
Có 1 vấn đề: hiện có 126 mã hàng. Khi cháu cho thêm mã hàng hoàn toàn mới, là mã 128-3289, ngày xuất nằm trong T12. Sheet "Tong luong hang xuat" vẫn hiện lên mã này. Sheet T12-2012 không hiện lên, nên cháu cho thêm 1 hàng ngang, ghi tên mã mới, mở qua mở lại thử các sheet cũng không thấy hiện lên số lượng của mã này trong sheet T12-2012.

Nhờ chú và các thành viên trên diễn đàn giải quyết vấn đề này giúp cháu.
Cháu cảm ơn mọi người ạ!
Cột A,B,C trong các Sheet Tháng là bạn nhập thủ công, nếu không có mã thì code đâu có tự ghi thêm, (Biết nó ở đâu mà ghi, còn thêm mã trong cột C bị ẩn nữa)
Nhập thêm mã mới vào dòng cuối tháng 12-2012.
Chép đè code này lên cái cũ rồi click qua lại giữa các sheet xem có khác gì không.

Public Sub LuXuBu()
Dim Rng(), Arr(), Ma As Object, Cot As Long, DK As String, I As Long, J As Long, K As Long, Tem As String, WS As Worksheet
For Each WS In Worksheets
If IsNumeric(Right(WS.Name, 4)) Then
With WS
Set Ma = CreateObject("Scripting.Dictionary")
Rng = .Range(.[B4], .[B65000].End(xlUp)).Value
DK = Month(.[B2]) & "/" & Year(.[B2])
End With
ReDim Arr(1 To UBound(Rng, 1), 1 To 31)
For I = 1 To UBound(Rng, 1)
Tem = Rng(I, 1): K = I
If Not Ma.Exists(Tem) Then
Ma.Add Tem, I
End If
Next I
With Sheets("Tong luong hang xuat")
Rng = .Range(.[B4], .[B65000].End(xlUp)).Resize(, 31).Value
End With
For I = 1 To UBound(Rng, 1)
Tem = Rng(I, 1)
If Ma.Exists(Tem) Then
For J = 2 To UBound(Rng, 2)
If Month(Rng(1, J)) & "/" & Year(Rng(1, J)) = DK Then
Cot = Day(Rng(1, J))
If Rng(I, J) > 0 Then Arr(Ma.Item(Tem), Cot) = Rng(I, J)
End If
Next J
End If
Next I
With WS
.[D4:AH130].ClearContents
.[D4].Resize(K, 31).Value = Arr
End With
Set Ma = Nothing
End If
Next
End Sub

do.phuong
20-10-12, 08:20 AM
Ngon lành rồi chú ạ. Ngày nào cũng phải post để hỏi thêm chú cái nọ cái kia, cảm ơn chú đã giúp cháu! Hi vọng sẽ không phải làm phiền chú thêm về cái bảng này nữa.
Chúc chú và gia đình có ngày nghỉ cuối tuần + ngày 20/10 vui vẻ!

htmt234
31-10-12, 11:46 AM
Bác nào xem hộ em cái hàm trong ô em đánh dấu với, lập có đúng không nhỉ, sao khi em đặt giá trị P3 = 11 thì kết quả vẫn nhảy là sao? **~****~****~**

nghiakg
29-12-12, 09:15 AM
Mình cũng xin đề tài khác!
Mình không hiểu về lập trình excel, nên xin các bạn công thức tính tiền bồi dưỡng không nghỉ phép cho CBCC, với tiêu chí sau:
(ngày bắt đầu công tác đến ngày tháng năm hiện tại)nếu:
1 tháng = 1 ngày phép
................cho đến 11 tháng.

Và thời gian CT < 12 tháng thì tương đương với hệ số 0,5
1 năm công tác đến 5 năm = 12 ngày phép, tương đương với hệ số 1,0
6 năm công tác đến 10 năm = 13 ngày P , HS 1,1
11 năm công tác đến 15 năm = 14 ngày P , HS 1,2
16 năm công tác đến 20 năm = 15 ngày P , HS 1,3
21 năm công tác đến 25 năm = 16 ngày P , HS 1,4
26 năm công tác đến 30 năm = 17 ngày P , HS 1,5
31 năm công tác đến 35 năm = 18 ngày P , HS 1,6
36 năm công tác đến 40 năm = 19 ngày P , HS 1,7
.........
Theo đơn vị quy định thì tiền bồi dưỡng không nghỉ phép dựa trên các tiêu chí như:
(Số ngày nghỉ tiêu chuẩn - số ngày đã nghỉ)*số ngày lương*HS)

Hoặc các bạn có cách nào hay hơn, xin được chỉ giáo!

Hong.Van
29-12-12, 09:37 AM
Mình cũng xin đề tài khác!
Mình không hiểu về lập trình excel, nên xin các bạn công thức tính tiền bồi dưỡng không nghỉ phép cho CBCC, với tiêu chí sau:
(ngày bắt đầu công tác đến ngày tháng năm hiện tại)nếu:
1 tháng = 1 ngày phép
................cho đến 11 tháng.

Và thời gian CT < 12 tháng thì tương đương với hệ số 0,5
1 năm công tác đến 5 năm = 12 ngày phép, tương đương với hệ số 1,0
6 năm công tác đến 10 năm = 13 ngày P , HS 1,1
11 năm công tác đến 15 năm = 14 ngày P , HS 1,2
16 năm công tác đến 20 năm = 15 ngày P , HS 1,3
21 năm công tác đến 25 năm = 16 ngày P , HS 1,4
26 năm công tác đến 30 năm = 17 ngày P , HS 1,5
31 năm công tác đến 35 năm = 18 ngày P , HS 1,6
36 năm công tác đến 40 năm = 19 ngày P , HS 1,7
.........
Theo đơn vị quy định thì tiền bồi dưỡng không nghỉ phép dựa trên các tiêu chí như:
(Số ngày nghỉ tiêu chuẩn - số ngày đã nghỉ)*số ngày lương*HS)
Hoặc các bạn có cách nào hay hơn, xin được chỉ giáo!
Bạn đưa File để các thành viên hướng dẫn bạn

leonguyenz
29-12-12, 09:43 AM
Mình cũng xin đề tài khác!
Mình không hiểu về lập trình excel, nên xin các bạn công thức tính tiền bồi dưỡng không nghỉ phép cho CBCC, với tiêu chí sau:
(ngày bắt đầu công tác đến ngày tháng năm hiện tại)nếu:
1 tháng = 1 ngày phép

Lập bảng đk số năm và HS, sau đó dùng VLOOKUP tham chiếu gần đúng. = VLOOKUP(số năm,bảng đk,2)

VMH0307
29-12-12, 09:47 AM
theo đơn vị quy định thì tiền bồi dưỡng không nghỉ phép dựa trên các tiêu chí như:
(số ngày nghỉ tiêu chuẩn - số ngày đã nghỉ)*số ngày lương*hs)
Tôi không hiểu số ngày lương của bạn là như thế nào, tôi tính thử "số ngày nghỉ tiêu chuẩn" và hệ số "hs" theo file đính kèm.
Quy ước 1 tháng có 30 ngày.

HYen17
29-12-12, 10:17 AM
Bạn kiểm xem đúng sai nha, mình không chắc lắm. . . .

anhhuyn
16-07-13, 10:42 AM
Cho em hoi, em ket hop nhieu ham if và and lại nhưng hiện tại em chỉ dùng tối đa 2 lần trong một phép tính, nếu em muốn dùng nhiều ĐK (=if (and (logical1, logical2), IF((and (logical1, logical2),(and (logical1, logical2)... ) nữa thì như thế nào ạh? Mong anh chị giúp đỡ em, em cảm ơn.

NHẤT CHI MAI
16-07-13, 11:23 AM
Cho em hoi, em ket hop nhieu ham if và and lại nhưng hiện tại em chỉ dùng tối đa 2 lần trong một phép tính, nếu em muốn dùng nhiều ĐK (=if (and (logical1, logical2), IF((and (logical1, logical2),(and (logical1, logical2)... ) nữa thì như thế nào ạh? Mong anh chị giúp đỡ em, em cảm ơn.

Có thể dùng if kết hợp với hàm and như bạn nói, ví dụ tôi dùng 6 HÀM IF VÀ AND lồng nhau, bạn tham khảo

P/S Bài viết không dấu Tiếng Việt sẽ bị xóa

0922825456
16-07-13, 12:33 PM
Cho em hoi, em ket hop nhieu ham if và and lại nhưng hiện tại em chỉ dùng tối đa 2 lần trong một phép tính, nếu em muốn dùng nhiều ĐK (=if (and (logical1, logical2), IF((and (logical1, logical2),(and (logical1, logical2)... ) nữa thì như thế nào ạh? Mong anh chị giúp đỡ em, em cảm ơn.
Có thể hiểu 1 cách đơn giản như thế này
Hàm If là : Nếu .... thì...
VD: nếu A1 là số 1 thì nó trả về giá trị là " Đúng", ko thì trả giá trị là "Sai"
Công thức =if(A1=1,"Đúng","Sai")

Hàm and : tiếng việt là "Và"
Hàm này được sử dụng với nhiều đk
VD: (A1<3,A1>0) Tứ là nó sẽ lọc các giá trị lớn hơn 0 và nhỏ hơn 3 để trả ra kết quả đúng và sai
Kết hợp 2 hàm này : định nghĩa như sau
Nếu thỏa mãn đk 1 và đk 2 thì trả và 1 giá trị, sai trả về 1 giá trị
Mình VD
=if(And(A1<5,A1>0),"Chọn","không")
Giải thích: Nếu ô A1 thỏa mã đk có số tự nhiên nhỏ hơn 5 và lớn hơn 0 ( Trong khoảng từ 0 -> 5 ) thì nó trả về giá trị là "chọn" không nằm ko khoảng đó thì nó trả giá trị về" Không"
Tương tự với hàm if(and(..),.., Bạn có thể làm với hàm if(or(....),..,...
Lưu ý, có thể dùng hàm and nhiều lúc với nhiều điều kiên( >=2 ĐK)
Không bắt buộc là cùng 1 hàng, cùng 1 cột mà có thể nhiều lúc kết hợp với nhiều ô trong sheet
Chúc bạn thành công

do.phuong
03-09-13, 05:33 PM
Chào các anh các chị, các cô chú trên GPE!

Em có 1 bản kế hoạch sản xuất, trước đây đã được bác Ba Tê xây dựng giúp bằng VBA. Bản này giúp em rất nhiều trong công việc và là lòng ngưỡng mộ rất lớn của em đối với các cao thủ thủ GPE. Hiện tại nó đang bị lỗi gì đó, nên em post lên đây nhờ các cao thủ giúp đỡ.
Hai bản em gửi kèm vốn là từ 1 file excel-mẹ duy nhất. Em sử dụng cho 2 khách hàng khác nhau.
1. Bản Delivery 2013: Dùng đến dòng số >1000 của "sheet1: Receive PO"thì lỗi
2. Bản Delivery 2013 LEO_cu : dùng đến dòng số > 500 của sheet 1 bắt đầu lỗi.
Lỗi như sau: Em nhập dữ liệu vào sheet "Receive PO", bấm nút GPE thì dữ liệu xuất ra ở sheet "Ke hoach xuat hang" và "Tong luong hang xuat" ok, nhưng dữ liệu không hiện ra ở các sheet tháng.
Dữ liệu đầu vào ở sheet "Receive PO" không bị lỗi đâu ạ. Vì em đã khắc phục Bản Delivery 2013 LEO_cu bằng cách cho riêng dữ liệu từ dòng 500 trở đi sang file khác. Kết quả ok.
Chẳng hiểu tại sao bản Delivery 2013 đến hẳn dòng 1,000 mới lỗi.

Em nhờ các cao thủ sửa lỗi giúp em.
Thêm vào đó, do yêu cầu công việc thay đổi:
1. Em không cần dùng đến sheet 3 và 4: "Ke hoach lam hang" và "Ke hoach xuat hang" nữa. Liệu có thể giúp em xoá 2 sheet này đi mà dữ liệu các sheet khác vẫn bình thường không ạ?
2. Nếu em đặt công thức tính tổng ở dòng 62 chẳng hạn (gióng theo cột từ D --> AH)thì chỉ cần bấm qua lại sheet "tong luong hang xuat" là công thức mất đi.
Mong mọi người giúp đỡ em. Em chân thành cảm ơn!

Ba Tê
03-09-13, 07:39 PM
Chào các anh các chị, các cô chú trên GPE!

Em có 1 bản kế hoạch sản xuất, trước đây đã được bác Ba Tê xây dựng giúp bằng VBA. Bản này giúp em rất nhiều trong công việc và là lòng ngưỡng mộ rất lớn của em đối với các cao thủ thủ GPE. Hiện tại nó đang bị lỗi gì đó, nên em post lên đây nhờ các cao thủ giúp đỡ.
Hai bản em gửi kèm vốn là từ 1 file excel-mẹ duy nhất. Em sử dụng cho 2 khách hàng khác nhau.
1. Bản Delivery 2013: Dùng đến dòng số >1000 của "sheet1: Receive PO"thì lỗi
2. Bản Delivery 2013 LEO_cu : dùng đến dòng số > 500 của sheet 1 bắt đầu lỗi.
Lỗi như sau: Em nhập dữ liệu vào sheet "Receive PO", bấm nút GPE thì dữ liệu xuất ra ở sheet "Ke hoach xuat hang" và "Tong luong hang xuat" ok, nhưng dữ liệu không hiện ra ở các sheet tháng.
Dữ liệu đầu vào ở sheet "Receive PO" không bị lỗi đâu ạ. Vì em đã khắc phục Bản Delivery 2013 LEO_cu bằng cách cho riêng dữ liệu từ dòng 500 trở đi sang file khác. Kết quả ok.
Chẳng hiểu tại sao bản Delivery 2013 đến hẳn dòng 1,000 mới lỗi.

Em nhờ các cao thủ sửa lỗi giúp em.
Thêm vào đó, do yêu cầu công việc thay đổi:
1. Em không cần dùng đến sheet 3 và 4: "Ke hoach lam hang" và "Ke hoach xuat hang" nữa. Liệu có thể giúp em xoá 2 sheet này đi mà dữ liệu các sheet khác vẫn bình thường không ạ?
2. Nếu em đặt công thức tính tổng ở dòng 62 chẳng hạn (gióng theo cột từ D --> AH)thì chỉ cần bấm qua lại sheet "tong luong hang xuat" là công thức mất đi.
Mong mọi người giúp đỡ em. Em chân thành cảm ơn!
Hổng ai "huỡn" mà đọc code và tìm ra lỗi trong khi không biết bạn muốn gì.
Bi giờ bạn muốn làm gì, yêu cầu thế nào, kết quả ra sao, nói lại từ đầu có khi có bạn khác tìm được cách làm nhanh gọn hơn, tôi đọc lại code của tôi mà còn hổng hiểu mình đang muốn làm gì với cái code đó nữa là.
Tự nhiên không thể nào "Hiện tại nó đang bị lỗi gì đó", đang haọt động bình thường mà xảy ra lỗi là do bạn có tác động gì đó vào cấu trúc của file thôi.

do.phuong
04-09-13, 10:06 AM
Chào bác Ba Tê. Vâng, cháu sẽ rút kinh nghiệm ạ.

Vậy em xin nhờ mọi người giúp đỡ như sau:
* Yêu cầu với file kế hoạch (cụ thể trong file đính kèm):
1. Dữ liệu gốc ban đầu được nhập vào sheet 1: “Receive PO”. Vào 1 ngày xuất hàng, một mã hàng A nào đó có thể có tổng lượng hàng là 10,000 chiếc, theo yêu cầu từ 5 PO khác nhau. Vậy nên cần gộp số lượng này lại cho tiện theo dõi và lên kế hoạch. Số lượng dòng hàng nhập vào sheet này rất lớn. Năm nay có thể lên tớ 4,000 dòng hàng. Không biết nếu lên đến 10,000-20,000 dòng hàng có được không?
2. Dữ liệu nào cần sẽ được đưa qua sheet "Bang trung gian", sử dụng lệnh "=" đơn giản, dữ liệu viết code sẽ lấy từ sheet này. Và sẽ chỉ gồm 4 cột.
3. Dữ liệu từ "Bang trung gian" được đưa sang sheet "Tong luong hang xuat". Sheet này hoàn toàn do code VBA tạo ra. Gồm dữ liệu sau:
- Cột A: Số thứ tự
- Cột B: mã hàng. Có thể có 4,000 dòng hàng nhưng chỉ có >100 mã hàng. Mỗi mã hàng chỉ xuất hiện 1 lần trong cột này. Đây cứ gọi là "Mã hàng chuẩn".
- Cột tiếp theo: số lượng xuất của mỗi mã hàng trong 1 ngày xuất hàng cụ thể
4. Các sheet tháng, từ tháng 1 - tháng 12 mỗi năm.
- Dữ liệu của 3 cột A, B, C là do mình tự điền thông tin 1 cách thủ công. Trong đó mã hàng ở cột B sẽ hoàn toàn trùng với "Mã hàng chuẩn" của sheet "Tong luong hang xuat". Số lượng mã hàng tùy thuộc vào từng khách hàng. Có thể là 10, 50 hay 100, 200, 300... Nếu thêm mã hàng thì công thức vẫn phải thực hiện được với "Mã hàng chuẩn" mới
- Từ cột D - cột AH: số lượng hàng của mỗi "Mã hàng chuẩn" (cột B) theo từng ngày xuất tương ứng của nó trong tháng
- Từ cột AI trở đi là cột tùy biến, điền dữ liệu tự do
- Khi liệt kê hết các mã hàng của 1 khách, sẽ có dòng tổng phía dưới. Các ô trong dòng này phải cho phép đặt công thức tính tổng trong phạm vi từ cột D--> cột AH.

* Về lỗi sai với file: Mọi người có thể giúp em suy đoán là em đã tác động gì khiến file bị lỗi không ah? Bản này em và 1 anh nữa dùng. Cả 2 anh em đều bị lỗi giống nhau. Em không dám làm gì với code VBA đâu ạ, em chẳng biết gì về code nên không dám động đến. Bình thường em chỉ thêm cột, thêm dòng vào những chỗ không nằm trong phạm vi xuất dữ liệu của code thôi. Không biết là mình đã làm gì khiến file lỗi để mà tránh? Hay là đã thêm cột dòng vào chỗ không được phép?!$@!!

Em xin cảm ơn!

do.phuong
23-09-13, 08:18 AM
Chào bác Ba Tê. Vâng, cháu sẽ rút kinh nghiệm ạ.

Vậy em xin nhờ mọi người giúp đỡ như sau:
* Yêu cầu với file kế hoạch (cụ thể trong file đính kèm):.....
File này của em đã chỉnh được rồi ạ. Cảm ơn mọi người đã quan tâm.

thanhlongpcb
11-12-13, 10:15 AM
Nhiều kiến thức bổ ích quá.

hongnhung0110
25-06-14, 02:52 PM
Các bạn cho mình hỏi, tính lương chuyên cần cho công nhân dùng hàm IF và AND thế nào nhỉ.
Điều kiện công ty mình như này:
- Nghỉ 1 buổi không phép: trừ 100% lương chuyên cần
- Nghỉ 1 buổi có phép: Trừ 100k
- Nghỉ từ 1.5-2.5 buổi có phép: trừ 50% lương chuyên cần
- Nghỉ từ 3 buổi trở lên: trừ hết lương chuyên cần.
Mình co xây dựng thế này:
A: số buổi nghỉ không phép
B: số ngày đi làm thực tế
Chuyên cần công ty em được 500.000
=IF(A>=1,0,IF(B=25,400.000,IF(AND(B<25,B>23),250.000,IF(B<=23,0))))
Kết quả hiển thị FALSE, em không hiểu gì. =.=

phuocam
25-06-14, 03:12 PM
Các bạn cho mình hỏi, tính lương chuyên cần cho công nhân dùng hàm IF và AND thế nào nhỉ.
Điều kiện công ty mình như này:
- Nghỉ 1 buổi không phép: trừ 100% lương chuyên cần
- Nghỉ 1 buổi có phép: Trừ 100k
- Nghỉ từ 1.5-2.5 buổi có phép: trừ 50% lương chuyên cần
- Nghỉ từ 3 buổi trở lên: trừ hết lương chuyên cần.
Mình co xây dựng thế này:
A: số buổi nghỉ không phép
B: số ngày đi làm thực tế
Chuyên cần công ty em được 500.000
=IF(A>=1,0,IF(B=25,400.000,IF(AND(B<25,B>23),250.000,IF(B<=23,0))))
Kết quả hiển thị FALSE, em không hiểu gì. =.=
Bạn thử công thức này:


=IF(OR(A>=1,B<=23),0,IF(B<25,250000,IF(B=25,400000,500000)))

hongnhung0110
26-06-14, 09:19 AM
Bạn thử công thức này:


=IF(OR(A>=1,B<=23),0,IF(B<25,250000,IF(B=25,400000,500000)))


Không ra bạn ơi. :-((

phuocam
26-06-14, 09:44 AM
Không ra bạn ơi. :-((
Bạn có thể làm 1 File giả lập , khoảng 5 dòng cũng được, ghi kết quả mong muốn vào, rồi gởi lên xem sao?

tieuthubuongbinh
26-06-14, 04:21 PM
=IF(A>=1,0,IF(B=25,400.000,IF(AND(B<25,B>23),250.000,IF(B<=23,0))))
Kết quả hiển thị FALSE, em không hiu gì. =.=

Mình hiểu hàm if nó hoạt động là:

Nếu ..., thì... , bằng không thì ...
Nên cơ cấu CT của bạn bị thiếu mệnh đề bằng không thì ... cho IF cuối

B7 là A của bạn
B9 là B của bạn
=IF(B$7>=1,0,IF(B$9=25,400,IF(AND(B$9<25,B$9>23),250,IF(B$9<=23,0,500))))



=IF(OR(A>=1,B<=23),0,IF(B<25,250000,IF(B=25,400000,500000)))


CT này gọn hơn vẫn thoả yêu cầu mà

nguyenthanhvan06
13-08-14, 09:17 AM
Em cũng đang đau đầu với quá nhiều giả thiết khi tính kế hoạch lương kinh doanh, các bác giúp em với