Không dò bằng vlookup được, điều kiện dò quá dài (1 người xem)

Người dùng đang xem chủ đề này

truckhoa2006

Thành viên hoạt động
Tham gia
3/10/07
Bài viết
155
Được thích
16
Em có vài câu hỏi đã ghi trong file kèm theo mong anh chị giúp dùm em.
1. Hàm if có lồng vlookup như lại báo lỗi.
2. Tạo datalist kèm điểu kiện phải lọc các data trùng ra.
3. Điều kiện quá dài:
Chi tiết: nếu điều kiện so sánh là từ 12 giờ <= 12 giờ <= 6 giờ thì ra kết quả là 15.000
Còn ở đây thì em có Ca sang từ giờ a đến giờ b và ca chiều là giờ c đến giờ d sau đó cộng 2 Ca lại. Thì do em không biết phải viết sao cho ngăn gọn và hay, nên khi viết công thức ra quá dài thì máy không cho, nên em phải chia công thứ ra làm 2 ô , sau đó cộng 2 ô lại . Nếu có công thức nào ngắn gọn hơn xin anh em chỉ giáo.

Cám ơn anh chị đã đọc bài.
 

File đính kèm

Em có vài câu hỏi đã ghi trong file kèm theo mong anh chị giúp dùm em.
1. Hàm if có lồng vlookup như lại báo lỗi.
2. Tạo datalist kèm điểu kiện phải lọc các data trùng ra.
3. Điều kiện quá dài:
Chi tiết: nếu điều kiện so sánh là từ 12 giờ <= 12 giờ <= 6 giờ thì ra kết quả là 15.000
Còn ở đây thì em có Ca sang từ giờ a đến giờ b và ca chiều là giờ c đến giờ d sau đó cộng 2 Ca lại. Thì do em không biết phải viết sao cho ngăn gọn và hay, nên khi viết công thức ra quá dài thì máy không cho, nên em phải chia công thứ ra làm 2 ô , sau đó cộng 2 ô lại . Nếu có công thức nào ngắn gọn hơn xin anh em chỉ giáo.

Cám ơn anh chị đã đọc bài.
Về câu 2 tham khảo ở đây
http://www.giaiphapexcel.com/forum/...-list-trong-Data-Validation&p=51031#post51031
Câu 1và 3 không biết đúng ý bạn không?
 

File đính kèm

Em có vài câu hỏi đã ghi trong file kèm theo mong anh chị giúp dùm em.
1. Hàm if có lồng vlookup như lại báo lỗi.
2. Tạo datalist kèm điểu kiện phải lọc các data trùng ra.
3. Điều kiện quá dài:
Chi tiết: nếu điều kiện so sánh là từ 12 giờ <= 12 giờ <= 6 giờ thì ra kết quả là 15.000
Còn ở đây thì em có Ca sang từ giờ a đến giờ b và ca chiều là giờ c đến giờ d sau đó cộng 2 Ca lại. Thì do em không biết phải viết sao cho ngăn gọn và hay, nên khi viết công thức ra quá dài thì máy không cho, nên em phải chia công thứ ra làm 2 ô , sau đó cộng 2 ô lại . Nếu có công thức nào ngắn gọn hơn xin anh em chỉ giáo.

Cám ơn anh chị đã đọc bài.

câu1:
nó báo lỗi là vì trong MucLuong khong co anh "nguyen van B"

câu2:
bạn phải tạo ra một list ko trùng
vi dụ
tại D13=INDEX(MAHANGHOA,MATCH(0,COUNTIF($D$12:D12,MAHANGHOA),0))--->Ctrl Shift Enter
hoặc
=INDEX(MAHANGHOA,MATCH(0,INDEX(COUNTIF($D$12:D12,MAHANGHOA),),0))--->enter
hoặc dùng advanced filter lọc ra giá trị duy nhất

câu3:
tôi ko hiểu, lấy thời gian ở cell nào dể so sanh với các mốc của bạn?
 
Em có vài câu hỏi đã ghi trong file kèm theo mong anh chị giúp dùm em.
1. Hàm if có lồng vlookup như lại báo lỗi.
2. Tạo datalist kèm điểu kiện phải lọc các data trùng ra.
3. Điều kiện quá dài:
Chi tiết: nếu điều kiện so sánh là từ 12 giờ <= 12 giờ <= 6 giờ thì ra kết quả là 15.000
Còn ở đây thì em có Ca sang từ giờ a đến giờ b và ca chiều là giờ c đến giờ d sau đó cộng 2 Ca lại. Thì do em không biết phải viết sao cho ngăn gọn và hay, nên khi viết công thức ra quá dài thì máy không cho, nên em phải chia công thứ ra làm 2 ô , sau đó cộng 2 ô lại . Nếu có công thức nào ngắn gọn hơn xin anh em chỉ giáo.

Cám ơn anh chị đã đọc bài.
Câu thứ 3 chưa hiểu ý của bạn lắm về các điều kiện nhận mức lương!
 
câu1:
nó báo lỗi là vì trong MucLuong khong co anh "nguyen van B"

câu2:
bạn phải tạo ra một list ko trùng
vi dụ
tại D13=INDEX(MAHANGHOA,MATCH(0,COUNTIF($D$12:D12,MAHANGHOA),0))--->Ctrl Shift Enter
hoặc
=INDEX(MAHANGHOA,MATCH(0,INDEX(COUNTIF($D$12:D12,MAHANGHOA),),0))--->enter
hoặc dùng advanced filter lọc ra giá trị duy nhất

câu3:
tôi ko hiểu, lấy thời gian ở cell nào dể so sanh với các mốc của bạn?

Câu 1: đúng ý em rùi. Cám ơn anh.
Câu 3: Em có 1 bảng thời gian phía dưới bảng đó và mức lương, cách vận dũng của anh là dùng hàm lookup rất hay và hôm nay em biết thêm 1 hàm nữa. Nhưng thay vì hàm của anh là : =LOOKUP(C25,{0,12,17,17.5},{0,15000,20000,30000})
thì em muốn thay 0, 12 , 17 , 17,5 bằng các ô cố định, để khi sếp nói :" Anh thay đổi cho tôi 12 h không còn 15.000 nữa hãy thay 15.000 bằng 30.000 đồng". Thì em phải sửa công thức lại, rất bất tiện, vả lại các cô kế toán thì lúa lắm không sửa công thức đâu, mà mình sẽ tạo ra 1 cái bảng rùi cho các cô tha hồ mà đổi mức lương làm Ca. Có được không anh. Ở đó em có chia ca sáng và chiều đó anh; vì ở đây có người làm như thế này:
- Anh A đi làm từ 8 h đến 12 h ; chiều đi từ 15 h đến 19h sau đó em phải cộng tiền lại cho anh ta để tính tiền trả trong ngày cho anh ấy ( Vì đó là lao động thuê ngoài , làm việc theo giờ đó mà).

Câu 2: Em biết phải tạo 1 list không trùng , nhưng có trường hợp nào hay cách nào mà em không cần dùng cách lọc ra trước mà có thể gáng cho vùng cột đó 1 cái tên ( Define Name) rùi trong cái tên đó ta dùng hàm gì đó lọc ra cho khỏi rùng , rồi dùng Data validation -> List .
Vậy có được không anh.
Cám ơn anh rất nhiều nhiều, trả lời nhanh kinh khủng. ^^
 
Câu 1: đúng ý em rùi. Cám ơn anh.

Câu 2: Em biết phải tạo 1 list không trùng , nhưng có trường hợp nào hay cách nào mà em không cần dùng cách lọc ra trước mà có thể gáng cho vùng cột đó 1 cái tên ( Define Name) rùi trong cái tên đó ta dùng hàm gì đó lọc ra cho khỏi rùng , rồi dùng Data validation -> List .
Vậy có được không anh.
Cám ơn anh rất nhiều nhiều, trả lời nhanh kinh khủng. ^^

chắc là bạn trích dẫn sai người rồi (tôi ko dùng lookup, vì tôi ko hiểu câu hỏi này.....hihihi)
còn về câu 2--->lọc bỏ trùng--->mà ko cần đặt list đó trên sheet --->thì chỉ có xài vba thôi
 
Câu thứ 3 chưa hiểu ý của bạn lắm về các điều kiện nhận mức lương!

Câu 3: Em có 1 bảng thời gian phía dưới bảng đó và mức lương, cách vận dũng của anh là dùng hàm lookup rất hay và hôm nay em biết thêm 1 hàm nữa. Nhưng thay vì hàm của anh là : =LOOKUP(C25,{0,12,17,17.5},{0,15000,20000,30000})
thì em muốn thay 0, 12 , 17 , 17,5 bằng các ô cố định, để khi sếp nói :" Anh thay đổi cho tôi 12 h không còn 15.000 nữa hãy thay 15.000 bằng 30.000 đồng". Thì em phải sửa công thức lại, rất bất tiện, vả lại các cô kế toán thì lúa lắm không sửa công thức đâu, mà mình sẽ tạo ra 1 cái bảng rùi cho các cô tha hồ mà đổi mức lương làm Ca. Có được không anh. Ở đó em có chia ca sáng và chiều đó anh; vì ở đây có người làm như thế này:
- Anh A đi làm từ 8 h đến 12 h ; chiều đi từ 15 h đến 19h sau đó em phải cộng tiền lại cho anh ta để tính tiền trả trong ngày cho anh ấy ( Vì đó là lao động thuê ngoài , làm việc theo giờ đó mà).
Cám ơn anh đã đôc bài.
 
các mốc thời gian đặt trong các cell C32:C35 (từ 0-17.5 như trên)
tương ứng tiền từ D32:D35
thử cthức này xem
F25=VLOOKUP(C25,$C$32:$D$35,2)

Lại không hiểu ý mình rùi,
Mình sẽ ví dụ dòng 26 nha: ( Các mức lương em cho tuy vô lý nhưng đó là ví dụ , mong mọi người hiểu cho)
1. Ca sáng làm từ 7 giờ đến 12 giờ hưởng mức lương 15.000 đồng
2. Ca chiều làm từ 14 giờ đến 18 giờ hưởng mức lương là 20.000 đồng
3. Nhưng nếu người đó không làm đến 18 giờ mà chỉ làm đến 17 h 30 phút ( tức là 17.5) -> Từ 14 giờ đến 17 giờ 30 phút thì hưởng mức lương là 30.000 đồng.
Vậy Tổng cộng :
1 + 2 = 15.000 + 20.000 = 35.000
Hoặc 1 + 3 = 15.000 + 30.000 = 45.000 đồng
Ý em là vậy đó
 
Lại không hiểu ý mình rùi,
Mình sẽ ví dụ dòng 26 nha: ( Các mức lương em cho tuy vô lý nhưng đó là ví dụ , mong mọi người hiểu cho)
1. Ca sáng làm từ 7 giờ đến 12 giờ hưởng mức lương 15.000 đồng
2. Ca chiều làm từ 14 giờ đến 18 giờ hưởng mức lương là 20.000 đồng
3. Nhưng nếu người đó không làm đến 18 giờ mà chỉ làm đến 17 h 30 phút ( tức là 17.5) -> Từ 14 giờ đến 17 giờ 30 phút thì hưởng mức lương là 30.000 đồng.
Vậy Tổng cộng :
1 + 2 = 15.000 + 20.000 = 35.000
Hoặc 1 + 3 = 15.000 + 30.000 = 45.000 đồng
Ý em là vậy đó
Nếu ca sáng làm đến 11h30 phút thì nhận lương =0 hả bạn!!???
 
Nếu ca sáng làm đến 11h30 phút thì nhận lương =0 hả bạn!!???

haha, may quá anh nhắc mới nhớ , xin lỗi mọi người cho em thêm 1 tý nhé, đúng rùi anh nếu trước 12 giờ thì mức lương là 14.000 đồng ( cho theo 15.000 dễ hiểu nhầm là 12 giờ)
Cám ơn anh đã nhắc nói.
 
haha, may quá anh nhắc mới nhớ , xin lỗi mọi người cho em thêm 1 tý nhé, đúng rùi anh nếu trước 12 giờ thì mức lương là 14.000 đồng ( cho theo 15.000 dễ hiểu nhầm là 12 giờ)
Cám ơn anh đã nhắc nói.

Thế còn GIỜ VÀO thì sao hả bạn? Vào giờ nào cũng được à?
Ví dụ: Giờ vào =11h, giờ ra = 11h30 ---> Làm có nữa tiếng, ăn bao nhiêu?
Tôi nghĩ lý ra phải tính ra tổng số giờ làm đàng hoàng rồi chia bình quân để tính ra số tiền nhận được chứ (làm bao nhiêu, hưởng bấy nhiêu)
 
Thế còn GIỜ VÀO thì sao hả bạn? Vào giờ nào cũng được à?
Ví dụ: Giờ vào =11h, giờ ra = 11h30 ---> Làm có nữa tiếng, ăn bao nhiêu?
Tôi nghĩ lý ra phải tính ra tổng số giờ làm đàng hoàng rồi chia bình quân để tính ra số tiền nhận được chứ (làm bao nhiêu, hưởng bấy nhiêu)

Hay quá kéo được cả anh ndu96081631 vào luôn.
Tức là file em đã gửi ở sheet Chitiet như sau
Ca sáng:
1. Nếu anh A đi làm từ 6 giờ đến 11 giờ thì 15.000 đồng ( Cho em đính chính lại chỗ này nha anh vu_tuan_manh_linh )
2. Nếu anh A đi làm từ 6 giờ đến 12 giờ thì mức lương là 15.000 đồng
Có nghĩa trước 12 giờ vẫn nhận 15.000 đồng hoặc làm từ 6 giờ đến 12 giờ vẫn là 15.000 đồng
Ca chiều:
1. Nếu anh A đi làm từ 13 giờ đến 16 giờ hoặc 17 giờ thì nhận mức lương là 20.000 đồng
2. Nếu anh A đi làm từ 13 giờ đến 17 giờ 30 hoặc 18 giờ thì nhận 30.000 đồng

Vậy chiều làm bảng lương em sẽ cộng mức lương ca sáng và mức lương ca chiều lại để trả lương theo thời gian mà anh ta làm.
Cái này chỉ để xác định mức lương sau đó mới tính tiền làm của người đó vì thời gian làm của người đó được em quy ra phút hết sau đó mới nhân với mức lương.
 
Lần chỉnh sửa cuối:
Tức là file em đã gửi ở sheet Chitiet như sau
Ca sáng:
1. Nếu anh A đi làm từ 6 giờ đến 11 giờ thì 15.000 đồng
2. Nếu anh A đi làm từ 6 giờ đến 12 giờ thì mức lương là 15.000 đồng
.

2 dòng này có gì khác nhau đâu?
Ngoài ra, cái vụ GIỜ VÀO bạn không tính à? Tức vào giờ nào cũng được?
 
2 dòng này có gì khác nhau đâu?
Ngoài ra, cái vụ GIỜ VÀO bạn không tính à? Tức vào giờ nào cũng được?

Chính xác vào bất cứ giờ nào của ca sáng kể cả vào làm 5 phút cũng tính miễn sao là Ca sáng được tính là khoản thời gian 6 giờ đến 12 giờ
Ca chiều là khoản thời gian 13 giờ đến 22 giờ tối.
Vào giờ nào không quan trọng nhưng ca sáng có mức lương 15.000 đồng , ca chiều có 2 mức lương 20.000 và 30.000 . Vậy mới chết chứ. Nếu anh A vào làm chỉ 5 phút thui và có người xác nhận thì vẫn tính là 5 phút . Đau não luôn. Mong hai anh thông cảm.
Và trong câu giải thích của em đã có giờ vào là 6 giờ và giờ nghỉ của ca sáng là 11 hoặc 12 giờ đó anh. Tương tự ca chiều cũng có gi mà anh.
 
Chính xác vào bất cứ giờ nào của ca sáng kể cả vào làm 5 phút cũng tính miễn sao là Ca sáng được tính là khoản thời gian 6 giờ đến 12 giờ
Ca chiều là khoản thời gian 13 giờ đến 22 giờ tối.
Vào giờ nào không quan trọng nhưng ca sáng có mức lương 15.000 đồng , ca chiều có 2 mức lương 20.000 và 30.000 . Vậy mới chết chứ. Nếu anh A vào làm chỉ 5 phút thui và có người xác nhận thì vẫn tính là 5 phút . Đau não luôn. Mong hai anh thông cảm.
Và trong câu giải thích của em đã có giờ vào là 6 giờ và giờ nghỉ của ca sáng là 11 hoặc 12 giờ đó anh. Tương tự ca chiều cũng có gi mà anh.

Thế thì bạn phải phân biệt thành 2 mức lương sáng & chiều riêng nhau, khi đó tính lương nhân với giờ mới chuẩn

nếu thế, thì

Mức lương SÁNG tại F25 , công thức này
PHP:
=LOOKUP(MAX(C25,$C$32),$C$32:$C$34,$D$32:$D$34)

Mức lương CHIỀU tại G25 , công thức này
PHP:
=LOOKUP(MAX(E25,$C$32),$C$32:$C$34,$D$32:$D$34)

COPY cho các cell còn lại
 
Thế thì bạn phải phân biệt thành 2 mức lương sáng & chiều riêng nhau, khi đó tính lương nhân với giờ mới chuẩn

nếu thế, thì

Mức lương SÁNG tại F25 , công thức này
PHP:
=LOOKUP(MAX(C25,$C$32),$C$32:$C$34,$D$32:$D$34)

Mức lương CHIỀU tại G25 , công thức này
PHP:
=LOOKUP(MAX(E25,$C$32),$C$32:$C$34,$D$32:$D$34)

COPY cho các cell còn lại

Chà, có lẽ chỉ có thể là theo cách này thui , chứ không thể định khoản thời gian cho công thức này rùi.
Vậy là phải dùng công thức này rùi.
Rất cám ơn
anh vodoi2x; ndu96081631 ; vu_tuan_manh_linh , đã tận tình bỏ thời gian giúp em.

Một câu hỏi cuối trước khi bị đó topic này là: hàm Lookup sao xin giải thích dùm em, em mới thấy, lạ và phức tạp quá cám ơn mọi người.
Vài bữa hỏi tiếp ^^
 
Chà, có lẽ chỉ có thể là theo cách này thui , chứ không thể định khoản thời gian cho công thức này rùi.
Vậy là phải dùng công thức này rùi.
Rất cám ơn
anh vodoi2x; ndu96081631 ; vu_tuan_manh_linh , đã tận tình bỏ thời gian giúp em.

Một câu hỏi cuối trước khi bị đó topic này là: hàm Lookup sao xin giải thích dùm em, em mới thấy, lạ và phức tạp quá cám ơn mọi người.
Vài bữa hỏi tiếp ^^

Đọc lại câu hỏi mới thấy bạn muốn 1 ô, vậy 1 ô thì là sao? Mức lương ? Mức lương chiều khác sáng thì sao 1 ô được???

NẾU tính LƯƠNG (số tiền nhận trong ngày) thì mới 1 ô được,
và khi đó
công thức lương thì là (tức là mức lương theo giờ nhân với số giờ làm)

PHP:
=(C25-B25)*LOOKUP(MAX(C25,$C$32),$C$32:$C$34,$D$32:$D$34)+ (E25-D25)*LOOKUP(MAX(E25,$C$32),$C$32:$C$34,$D$32:$D$34)


còn Hàm lookup xem tại đây LOOKUP(......)
 
Lần chỉnh sửa cuối:
nếu sợ LOOKUP thì Sử dụng VLOOKUP cũng được với tham số cuối cùng bỏ qua (hoặc nhập là 1)

Mức lương SÁNG tại F25 , công thức này

PHP:
=VLOOKUP(MAX(C25,$C$32),$C$32:$D$34,2)

Mức lương CHIỀU tại G25 , công thức này
PHP:
=VLOOKUP(MAX(E25,$C$32),$C$32:$D$34,2)


CÒN giải pháp tính LƯƠNG thẳng (1 ô) thì công thức cho dòng 25 là thế này

PHP:
=(C25-B25)*VLOOKUP(MAX(C25,$C$32),$C$32:$D$34,2)+ (E25-D25)*VLOOKUP(MAX(E25,$C$32),$C$32:$D$34,2)

tìm hiểu thêm hàm VLOOKUP tại đây - chú ý tham số cuối [range_lookup]
 
nếu sợ LOOKUP thì Sử dụng VLOOKUP cũng được với tham số cuối cùng bỏ qua (hoặc nhập là 1)

Mức lương SÁNG tại F25 , công thức này

PHP:
=VLOOKUP(MAX(C25,$C$32),$C$32:$D$34,2)

Mức lương CHIỀU tại G25 , công thức này
PHP:
=VLOOKUP(MAX(E25,$C$32),$C$32:$D$34,2)


CÒN giải pháp tính LƯƠNG thẳng (1 ô) thì công thức cho dòng 25 là thế này

PHP:
=(C25-B25)*VLOOKUP(MAX(C25,$C$32),$C$32:$D$34,2)+ (E25-D25)*VLOOKUP(MAX(E25,$C$32),$C$32:$D$34,2)

tìm hiểu thêm hàm VLOOKUP tại đây - chú ý tham số cuối [range_lookup]

Em áp dụng công thứ 1 ô của anh , bây giờ ok rùi. kiểu này chắc em bị đuổi sớm quá vì bị nổ não luôn. Cám ơn các anh nhiều nhiều
 

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

Back
Top Bottom