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

Liên hệ QC
Status
Không mở trả lời sau này.
Công thức tính đơn giá

Mình muốn lấy dữ liệu từ bảng giá để điền vào cột đơn giá, các bạn giúp mình với nha......
 

File đính kèm

  • A.CHINH.xls
    59.5 KB · Đọc: 28
Công thức tại L17:
Mã:
=VLOOKUP(B17,'bang gia'!$B$5:$M$47,IF(ISERR(FIND("gói",G17)),LOOKUP(255,SEARCH({3,5,10,1},G17),{9,10,11,12}),LOOKUP(255,SEARCH({1,500,100},G17),{6,7,8})),0)
 
mình làm theo hướng dẫn của bạn thì ok liền

cảm ơn bạn nhiều
 
Công thức tại L17:
Mã:
=VLOOKUP(B17,'bang gia'!$B$5:$M$47,IF(ISERR(FIND("gói",G17)),LOOKUP(255,SEARCH({3,5,10,1},G17),{9,10,11,12}),LOOKUP(255,SEARCH({1,500,100},G17),{6,7,8})),0)

Chi mà dài dữ vậy?
Đầu tiên sửa lại đôi chút tại sheet BangGia
1 kg thành 1kg
500 gam thành 500g
100 gam thành 100g
10 kg/xô thành 10kg/xô
Cuối cùng là công thức tại L17:
Mã:
=VLOOKUP(B17,'bang gia'!$B$5:$M$47,LOOKUP(2,1/COUNTIF(G17,"*"&'bang gia'!$G$4:$M$4&"*"),ROW($6:$12)),0)
 
Chi mà dài dữ vậy?
Đầu tiên sửa lại đôi chút tại sheet BangGia
1 kg thành 1kg
500 gam thành 500g
100 gam thành 100g
10 kg/xô thành 10kg/xô
Cuối cùng là công thức tại L17:
Mã:
=VLOOKUP(B17,'bang gia'!$B$5:$M$47,LOOKUP(2,1/COUNTIF(G17,"*"&'bang gia'!$G$4:$M$4&"*"),ROW($6:$12)),0)
Thì không sửa nên em mới cho nó dài vậy mà ...
Còn sửa thì sửa luôn cả 7 đối tượng rồi VLOOKUP kết hợp MATCH cũng được.
 
Thì không sửa nên em mới cho nó dài vậy mà ...
Còn sửa thì sửa luôn cả 7 đối tượng rồi VLOOKUP kết hợp MATCH cũng được.

Nếu để nguyên không sửa gì cả, cùng lắm tôi thêm 2 thằng SUBSTITUTE cũng chưa dài lắm
(1 SUBSTITUTE(..., " ","") và 1 SUBSTITUTE(..., "gam","g") )
 
Xin các bác giúp em đoạn VBA như sau

Em đang làm 1 dự liệu dạng thế này
Nhờ các bác viết hộ cho em hàn VBA để có thể thực hiện phần thực hiện tính SPP
Vì có nhiều cột như thế nên nếu làm tay thì quá lâu
Mong các bác giúp đỡ em nhiều
 

File đính kèm

  • Book1.xls
    13.5 KB · Đọc: 23
Em đang làm 1 dự liệu dạng thế này
Nhờ các bác viết hộ cho em hàn VBA để có thể thực hiện phần thực hiện tính SPP
Vì có nhiều cột như thế nên nếu làm tay thì quá lâu
Mong các bác giúp đỡ em nhiều

Bài này không cần VBA đâu.
Công thức cho E2:
Mã:
=$D2*LOOKUP(10^15,$C$2:$C2)
kéo fill xuống
 
Em đang làm 1 dự liệu dạng thế này
Nhờ các bác viết hộ cho em hàn VBA để có thể thực hiện phần thực hiện tính SPP
Vì có nhiều cột như thế nên nếu làm tay thì quá lâu
Mong các bác giúp đỡ em nhiều
Thử nghiệm Array xem sao:
[GPECODE=vb]Sub SPP()
Dim sArr, Arr(), i As Long, j As Long, PP1 As Single
sArr = Sheet1.Range(Sheet1.[C2], Sheet1.[D65000].End(xlUp))
ReDim Arr(1 To UBound(sArr), 1 To 3)
For i = 1 To UBound(Arr)
If sArr(i, 1) <> 0 Then PP1 = sArr(i, 1)
Arr(i, 1) = sArr(i, 1)
Arr(i, 2) = sArr(i, 2)
Arr(i, 3) = Round(PP1 * Arr(i, 2), 2)
Next
Sheet1.[C2].Resize(UBound(Arr), 3) = Arr
End Sub[/GPECODE]
 
em muon lọc các giá trị từ trái sang fai, ko biết hàm này sai gì mà ko chạy, nhờ a/c chỉnh sữa dùm, thanks
=LEFT(B2,3)="905"&"935"&"906"&"932"
 
em muon lọc các giá trị từ trái sang fai, ko biết hàm này sai gì mà ko chạy, nhờ a/c chỉnh sữa dùm, thanks
=LEFT(B2,3)="905"&"935"&"906"&"932"

Giá trị ở ô B2 là gì bạn. Như công thức của bạn thì nghĩa là lấy 3 ký tự bên trái của dữ liệu trong ô B2 là đúng rồi. Còn cái khúc sau 905, 935, 906, 932 là sao mình chưa hiểu. Thân
 
Giá trị ở ô B2 là gì bạn. Như công thức của bạn thì nghĩa là lấy 3 ký tự bên trái của dữ liệu trong ô B2 là đúng rồi. Còn cái khúc sau 905, 935, 906, 932 là sao mình chưa hiểu. Thân
phần "905"&"935"&"906"&"932" tức là em muốn tìn 3 số đầu trong dãy số đó anh
 
em muon lọc các giá trị từ trái sang fai, ko biết hàm này sai gì mà ko chạy, nhờ a/c chỉnh sữa dùm, thanks
=LEFT(B2,3)="905"&"935"&"906"&"932"
- Hàm LEFT(B2,3) có tối đa 3 ký tự.
- Chuỗi "905"&"935"&"906"&"932" chính là chuỗi "905935906932", có 12 ký tự.
Do đó công thức =LEFT(B2,3)="905"&"935"&"906"&"932" sẽ luôn trả về kết quả FALSE cho dù giá trị của ô B2 là gì đi nữa.

Cuối cùng thì bạn đang cần làm cái gì nhỉ?
Có phải bạn muốn kiểm tra nếu 3 ký tự đầu của B2 mà giống 1 trong 4 chuỗi kia thì làm gì đó phải không? Nếu đúng thì công thức có dạng thế này:
Mã:
=IF(ISNUMBER(MATCH(LEFT(B2,3),{"905","906","932","933"},0)),"Làm gì đó","Không làm")
hoặc:
Mã:
=IF(ISNUMBER(MATCH(LEFT(B2,3)*1,{905,906,932,933},0)),"Làm gì đó","Không làm")
hoặc:
Mã:
=IF(ISNUMBER(FIND(LEFT(B2,3),".905.906.932.933.")),"Làm gì đó","Không làm")
 
905598156
906589578
902486586
903456852
935918325
902589622

lọc 3 số đầu tiên tính từ trái sang phải tìm các đầu 905,935,906,932
các số tìm đc sẽ là
905598156
906589578
935918325
933586254
nhờ a/c lập lại hàm dùm em
 
905598156
906589578
902486586
903456852
935918325
902589622

lọc 3 số đầu tiên tính từ trái sang phải tìm các đầu 905,935,906,932
các số tìm đc sẽ là
905598156
906589578
935918325
933586254
nhờ a/c lập lại hàm dùm em
Con số 933586254ở đâu ra vậy bạn?
 
Lọc danh sách khen

Mình có 1 danh sách ghi kết quả học sinh cuổi năm. File này trước đây có chứa cả kì 1, kì 2, cả năm và đã lọc ra 1 danh sách khen thưởng theo 3 tiêu chí về điểm Văn, Toán, Trung bình các môn. Bây giờ mình muốn thu hẹp lại: Chỉ lọc theo điểm cuối năm và thêm 1 tiêu chí nữa là chỉ có học sinh giỏi và học sinh tiên tiến. Mình đã làm đi làm lại nhưng mãi không được. Nhờ các bạn chỉnh sửa giúp công thức hoặc tên đã định nghĩa. Xim cảm ơn nhiều!
 
Lần chỉnh sửa cuối:
Các cao thủ đâu hết rồi, giúp mình với nào!!!!!!
 
905598156
906589578
902486586
903456852
935918325
902589622

lọc 3 số đầu tiên tính từ trái sang phải tìm các đầu 905,935,906,932
các số tìm đc sẽ là
905598156
906589578
935918325
hj, số cuối em gõ nhầm đó anh, nhờ anh lập hàm dùm em, thanks
 
Status
Không mở trả lời sau này.
Web KT
Back
Top Bottom