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

Liên hệ QC

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

upload_2017-5-29_13-26-12.png

Chào anh/chị!

Em đang có 1 câu hỏi đơn giản mà làm mãi chưa ra.

Em có 1 ô excel định dạng text nội dung "032154"

Bây giờ em muốn lấy giá trị đầu của ô (giá trị 0) thì dùng câu lệnh nào?

Em đã thử các lệnh Left, right, mid đều không được.

Xin cảm ơn!
 
View attachment 176507

Chào anh/chị!

Em đang có 1 câu hỏi đơn giản mà làm mãi chưa ra.

Em có 1 ô excel định dạng text nội dung "032154"

Bây giờ em muốn lấy giá trị đầu của ô (giá trị 0) thì dùng câu lệnh nào?

Em đã thử các lệnh Left, right, mid đều không được.

Xin cảm ơn!
Giả sử ô dữ liệu ở ô A1, bạn dùng công thức:
=VALUE(LEFT(A1,1))
 
View attachment 176507

Chào anh/chị!

Em đang có 1 câu hỏi đơn giản mà làm mãi chưa ra.

Em có 1 ô excel định dạng text nội dung "032154"

Bây giờ em muốn lấy giá trị đầu của ô (giá trị 0) thì dùng câu lệnh nào?

Em đã thử các lệnh Left, right, mid đều không được.

Xin cảm ơn!
Bạn dùng công thức này nè
=--left(text,1)
 
Xin chào các bác
Các bác giúp em mình dùng hàm gì để xóa những ô có ký tự đầu là số 2,3,4 và chỉ lấy số điện thoại di động
Thank các bác

Bạn tạo thêm khoảng 30 cột phụ rồi với mỗi cột thì dùng hàm = IF ( ISNUMBER ( MID (ô gốc , số cột, 1) ) , MID (ô gốc, số cột, 1) , "" )

Nhớ $ vào cột của ô gốc, số cột thì bạn dùng hàm Columns hoặc đánh số thứ tự vào từng cột, rồi bạn dùng hàm Concatenate ( 30 ô tại 30 cột phụ ) là ra kết quả như ý.

Nếu muốn kết quả có số 0 ở đầu thì dùng thêm lệnh If ( ký tự đầu = 0 , "" , "0") & Concatenate là được
 
Em cần làm 1 bài tập về hàm INDIRECT kết hợp với 1 số hàm điều kiện so sánh nhưng đang bí. Em mới học excel nên muốn hỏi kiến thức cơ bản trước, rồi tự mình làm bài tập lớn, rất mong các bác giúp đỡ ạ.

Bài Toán:

- Tại Sheet1, ở A1 em viết 1 dòng ký tự: Success

- Tại Sheet2, ở A1 (dòng này mình nhập liệu bất kỳ). Ví dụ em để là Fail.

- Viết 1 hàm tại A2 Sheet2, so sánh A1 ở Sheet1 và A1 ở Sheet2, nếu giống nhau trả về là O, nếu khác trả về là X (Trường hợp trên là X vì Success # Fail).

Sau khi tìm hiểu, em có ý tưởng sử dụng lồng ghép hàm sau: =IF(OR(A1=INDIRECT(Sheet1!$A$1)),"O","X"). Tuy nhiên sau khi đánh thì bị lỗi, các bác giúp em chỉnh sửa với.

Em mới học Excel nên thực sự chưa biết hết mặt các hàm, vì vậy rất mong được các bác hỗ trợ ạ. Em xin chân thành cảm ơn!
 
Em cần làm 1 bài tập về hàm INDIRECT kết hợp với 1 số hàm điều kiện so sánh nhưng đang bí. Em mới học excel nên muốn hỏi kiến thức cơ bản trước, rồi tự mình làm bài tập lớn, rất mong các bác giúp đỡ ạ.

Bài Toán:

- Tại Sheet1, ở A1 em viết 1 dòng ký tự: Success

- Tại Sheet2, ở A1 (dòng này mình nhập liệu bất kỳ). Ví dụ em để là Fail.

- Viết 1 hàm tại A2 Sheet2, so sánh A1 ở Sheet1 và A1 ở Sheet2, nếu giống nhau trả về là O, nếu khác trả về là X (Trường hợp trên là X vì Success # Fail).

Sau khi tìm hiểu, em có ý tưởng sử dụng lồng ghép hàm sau: =IF(OR(A1=INDIRECT(Sheet1!$A$1)),"O","X"). Tuy nhiên sau khi đánh thì bị lỗi, các bác giúp em chỉnh sửa với.

Em mới học Excel nên thực sự chưa biết hết mặt các hàm, vì vậy rất mong được các bác hỗ trợ ạ. Em xin chân thành cảm ơn!
Bạn có thể tạo một cái file mẫu gửi lên được không?
 
Em cần làm 1 bài tập về hàm INDIRECT kết hợp với 1 số hàm điều kiện so sánh nhưng đang bí. Em mới học excel nên muốn hỏi kiến thức cơ bản trước, rồi tự mình làm bài tập lớn, rất mong các bác giúp đỡ ạ.

Bài Toán:

- Tại Sheet1, ở A1 em viết 1 dòng ký tự: Success

- Tại Sheet2, ở A1 (dòng này mình nhập liệu bất kỳ). Ví dụ em để là Fail.

- Viết 1 hàm tại A2 Sheet2, so sánh A1 ở Sheet1 và A1 ở Sheet2, nếu giống nhau trả về là O, nếu khác trả về là X (Trường hợp trên là X vì Success # Fail).

Sau khi tìm hiểu, em có ý tưởng sử dụng lồng ghép hàm sau: =IF(OR(A1=INDIRECT(Sheet1!$A$1)),"O","X"). Tuy nhiên sau khi đánh thì bị lỗi, các bác giúp em chỉnh sửa với.

Em mới học Excel nên thực sự chưa biết hết mặt các hàm, vì vậy rất mong được các bác hỗ trợ ạ. Em xin chân thành cảm ơn!
Tôi không rõ bài bạn thế nào nhưng thiếu 2 dấu nháy ["] và không cần OR ...
=IF(A1=INDIRECT("Sheet1!$A$1"),"O","X")
 
Vậy thì bỏ hết cái Indirect() luôn đi cho nó "phẻ"
=IF(A1=Sheet1!$A$1,"O","X")
Chúc anh em ngày mới năng động và vui tươi.
Bỏ INDIRECT thì đâu có được. Người ta có ý đồ mà :).
Chắc đang nghiên cứu cho cái này:
Em xin chào các bác ạ. Em mới học Excel nên rất mong được sự giúp đỡ của các bác. Nếu có gì sơ sót vi phạm nội quy, mong Admin nhắc nhở, em xin cảm ơn ạ. Em có 2 vấn đề như sau.

Vấn đề 1:
== Tại Sheet 1 em để 2 cột giá trị A1=5, B1=6.
+ Tại Sheet 2, em để cột giá trị là =SUM(Sheet1!A1:B1)
+ Kết quả sẽ tính là 11.

== Tại Sheet 1, em insert 1 hàng mới, lúc này em bổ sung hàng mới là A1=10, B1=15.
+ Lúc này, theo dõi tại Sheet 2, cột giá trị =SUM(Sheet1!A1:B1) đã bị thay đổi thành =SUM(Sheet1!A2:B2) và vẫn bằng 11.
+ Thử gán tham chiếu cố định là $A$1 và $B$1 nhưng khi insert hàng vẫn ra $A$2 và $B$2

Đây là 1 ví dụ đơn giản, nhiều trường hợp em muốn gán cố định giá trị tham chiếu, sao cho khi mình chèn mới vào Sheet 1 thì ở Sheet 2 không bị biến đổi (trong trường hợp trên em muốn giữ nguyên giá trị Sheet 2 là =SUM(Sheet1!A1:B1)). Điều này có khả thi không, nếu có, thì cách làm như thế nào?
Vấn đề 1: Bạn tìm hiểu hàm INDIRECT.
 
Tôi không rõ bài bạn thế nào nhưng thiếu 2 dấu nháy ["] và không cần OR ...
=IF(A1=INDIRECT("Sheet1!$A$1"),"O","X")

Dạ vâng, em làm mẫu theo như bác dazkangel thì được rồi ạ. Lý do ban đầu em sử dụng hàm Or vì thực tế bài toán còn 1 vế sau nữa, sau khi em thử lại cho ngoặc kép thì ok hết rùi.

Một lần nữa xin cảm ơn bác dazkangel và mọi người ạ (y).
 
Em lại có việc nhờ các bác. Tình hình là em có 1 bài tập nhỏ, so sánh 2 cột sao cho tìm ra được những ký tự (chữ, số) giống và khác nhau trong 2 cột.

Ví dụ:
- Cột A: abc4589
- Cột B: ce45

=> Kết quả cần xuất:
- Cột C: Giống: c45
- Cột D: Khác: abe89

Chú ý: Cột A, B độ dài ngắn có thể khác nhau. Các ký tự, số trong mỗi cột khác nhau (a->z,0->9), không phân biệt hoa, thường.

Rất mong được sự trợ giúp của các bác ạ !
 
Em lại có việc nhờ các bác. Tình hình là em có 1 bài tập nhỏ, so sánh 2 cột sao cho tìm ra được những ký tự (chữ, số) giống và khác nhau trong 2 cột.

Ví dụ:
- Cột A: abc4589
- Cột B: ce45

=> Kết quả cần xuất:
- Cột C: Giống: c45
- Cột D: Khác: abe89

Chú ý: Cột A, B độ dài ngắn có thể khác nhau. Các ký tự, số trong mỗi cột khác nhau (a->z,0->9), không phân biệt hoa, thường.

Rất mong được sự trợ giúp của các bác ạ !
Bài này Hỏi nhanh - Đáp nhanh kiểu gì?
So sánh 1 chiều A với B hay so sánh 2 chiều A-B và B-A?
 
Chỉ cần so sánh giữa 2 cột A-B xem giống, khác nhau ở các ký tự nào rồi cho ra 2 cột Giống - Khác là được bác ạ.
PHP:
Function CompareText(ByVal Txt1 As String, ByVal Txt2 As String, Optional ByVal typeComp As Boolean = True) As String
Dim i As Long, iChar As String, sText As String, dText As String
dText = Txt1 & Txt2
If Len(Txt1) <= Len(Txt2) Then
    For i = 1 To Len(Txt1)
        iChar = Mid(Txt1, i, 1)
        If InStr(Txt2, iChar) Then
            sText = sText & iChar
            dText = Replace(dText, iChar, "")
        End If
    Next i
Else
    For i = 1 To Len(Txt2)
        iChar = Mid(Txt2, i, 1)
        If InStr(Txt1, iChar) Then
            sText = sText & iChar
            dText = Replace(dText, iChar, "")
        End If
    Next i
End If
If typeComp = True Then CompareText = sText Else CompareText = dText
End Function
Công thức bảng tính:
Mã:
=CompareText(A1,B1,TRUE)
=CompareText(A1,B1,FALSE)
 
Vâng, em cảm ơn bác rất nhiều ạ! Để em áp dụng vô bài toán ^_^

Edit: Em đã áp dụng thành công rồi bác nhé ^^. Thank bác nhìu nhìu ;)
 
Lần chỉnh sửa cuối:
Chào anh chị. Em cần công thức ở ô A4 để khi kéo công thức xuống thì A giảm đều 22 đơn vị2017_09_04_15.41.50.jpg
 
Mong các anh giúp đỡ, rút ngắn công thức này hộ em với, nó dài quá, vào excel cứ bị đơ :(
=(SUMIFS($B$2:B2000,$C$2:C2000,F16,$D$2:D2000,"L",$A$2:A2000,$M$42)
+SUMIFS($B$2:B2000,$C$2:C2000,F16,$D$2:D2000,"L",$A$2:A2000,$M$41)
+SUMIFS($B$2:B2000,$C$2:C2000,F16,$D$2:D2000,"L",$A$2:A2000,$M$40)
+SUMIFS($B$2:B2000,$C$2:C2000,F16,$D$2:D2000,"L",$A$2:A2000,$M$39)
+SUMIFS($B$2:B2000,$C$2:C2000,F16,$D$2:D2000,"L",$A$2:A2000,$M$38)
+SUMIFS($B$2:B2000,$C$2:C2000,F16,$D$2:D2000,"L",$A$2:A2000,$M$37)
+SUMIFS($B$2:B2000,$C$2:C2000,F16,$D$2:D2000,"L",$A$2:A2000,$M$36)
+SUMIFS($B$2:B2000,$C$2:C2000,F16,$D$2:D2000,"L",$A$2:A2000,$M$35)
+SUMIFS($B$2:B2000,$C$2:C2000,F16,$D$2:D2000,"L",$A$2:A2000,$M$34)
+SUMIFS($B$2:B2000,$C$2:C2000,F16,$D$2:D2000,"L",$A$2:A2000,$M$33)
+SUMIFS($B$2:B2000,$C$2:C2000,F16,$D$2:D2000,"L",$A$2:A2000,$M$32)
+SUMIFS($B$2:B2000,$C$2:C2000,F16,$D$2:D2000,"L",$A$2:A2000,$M$31)
+SUMIFS($B$2:B2000,$C$2:C2000,F16,$D$2:D2000,"L",$A$2:A2000,$M$30)
+SUMIFS($B$2:B2000,$C$2:C2000,F16,$D$2:D2000,"L",$A$2:A2000,$M$29)
+SUMIFS($B$2:B2000,$C$2:C2000,F16,$D$2:D2000,"L",$A$2:A2000,$M$28)
+SUMIFS($B$2:B2000,$C$2:C2000,F16,$D$2:D2000,"L",$A$2:A2000,$M$27)
+SUMIFS($B$2:B2000,$C$2:C2000,F16,$D$2:D2000,"L",$A$2:A2000,$M$26)
+SUMIFS($B$2:B2000,$C$2:C2000,F16,$D$2:D2000,"L",$A$2:A2000,$M$25)
+SUMIFS($B$2:B2000,$C$2:C2000,F16,$D$2:D2000,"L",$A$2:A2000,$M$24)
+SUMIFS($B$2:B2000,$C$2:C2000,F16,$D$2:D2000,"L",$A$2:A2000,$M$23)
+SUMIFS($B$2:B2000,$C$2:C2000,F16,$D$2:D2000,"L",$A$2:A2000,$M$22)
+SUMIFS($B$2:B2000,$C$2:C2000,F16,$D$2:D2000,"L",$A$2:A2000,$M$21)
+SUMIFS($B$2:B2000,$C$2:C2000,F16,$D$2:D2000,"L",$A$2:A2000,$M$20)
+SUMIFS($B$2:B2000,$C$2:C2000,F16,$D$2:D2000,"L",$A$2:A2000,$M$19)
+SUMIFS($B$2:B2000,$C$2:C2000,F16,$D$2:D2000,"L",$A$2:A2000,$M$18)
+SUMIFS($B$2:B2000,$C$2:C2000,F16,$D$2:D2000,"L",$A$2:A2000,$M$17)
+SUMIFS($B$2:B2000,$C$2:C2000,F16,$D$2:D2000,"L",$A$2:A2000,$M$16))

Em cảm ơn các anh !
 
Mong các anh giúp đỡ, rút ngắn công thức này hộ em với, nó dài quá, vào excel cứ bị đơ :(
'''

Em cảm ơn các anh !
Rút gọn thì bạn có thể làm như sau.
Mã:
=SUM($B$2:B2000*($C$2:C2000=F16)*($D$2:D2000="L")*MMULT(--($A$2:A2000=TRANSPOSE($M16:M$42)),ROW($M16:M$42)^0))
Nếu chỉ vài ô dùng công thức thì có thể dùng được chứ công thức áp dụng cho cả cột thì không có công thức nào nhanh đâu, bạn nên tìm cách khác (VBA, Pivot Table)
 
Rút gọn thì bạn có thể làm như sau.
Mã:
=SUM($B$2:B2000*($C$2:C2000=F16)*($D$2:D2000="L")*MMULT(--($A$2:A2000=TRANSPOSE($M16:M$42)),ROW($M16:M$42)^0))
Nếu chỉ vài ô dùng công thức thì có thể dùng được chứ công thức áp dụng cho cả cột thì không có công thức nào nhanh đâu, bạn nên tìm cách khác (VBA, Pivot Table)
Nếu có file mẫu chắc sẽ có hướng hay hơn, ví dụ các ô M16:M42 có cái gì điểm chung chẳng hạn ^^, lúc đó có thể kết hợp thêm 1 cột phụ :D
 
Rút gọn thì bạn có thể làm như sau.
Mã:
=SUM($B$2:B2000*($C$2:C2000=F16)*($D$2:D2000="L")*MMULT(--($A$2:A2000=TRANSPOSE($M16:M$42)),ROW($M16:M$42)^0))
Nếu chỉ vài ô dùng công thức thì có thể dùng được chứ công thức áp dụng cho cả cột thì không có công thức nào nhanh đâu, bạn nên tìm cách khác (VBA, Pivot Table)
Hình như chủ thớt muốn gom vầy, anh xem thử: (Do SUMIFS(...) không thể để 'đông' $B$2 mà cho B2000 động rồi kéo qua cột khác thành $B$2: C2000!!?)
=SUMPRODUCT(SUMIFS($B$2:$B2000,$C$2:$C2000,F16,$D$2: $D2000,"L",$A$2:$A2000,$M$16:$M$42))
Không có file kiểm chứng nên đoán mò, như bao lần anh em mình làm 'thầy bói' vậy.

Chúc anh em ngày thiệt vui.
 
Lần chỉnh sửa cuối:
Hình như chủ thớt muốn gom vầy, anh xem thử: (Do SUMIFS(...) không thể để 'đông' $B$2 mà cho B2000 động rồi kéo qua cột khác thành $B$2: C2000!!?)
=SUMPRODUCT(SUMIFS($B$2:$B2000,$C$2:$C2000,F16,$D$2: $D2000,"L",$A$2:$A2000,$M$16:$M$42))
Không có file kiểm chứng nên đoán mò, như bao lần anh em mình làm 'thầy bói' vậy.

Chúc anh em ngày thiệt vui.

Em có các giá trị ở cột A2:A2000 và giá trị cột M16:M42, một một giá trị ở cột A sẽ tương ứng với 1 số lượng ở cột B ( chính xác ở đây là từ B2:B2000 đó ạ)
Em muốn làm 1 công thức so sánh để tính tổng khối lượng ở cột B với 2 điều kiện:
1. Giá trị của cột A thuộc tập hợp các giá trị của cột M16:M42, nếu có 1 giá trị của cột A là "abc" chẳng hạn, mà cột M16:M42 có 2 giá trị "abc" thì số lượng tương ứng cũng phải gấp lên 2 lần, nhiều lần hơn cũng thế ạ.
2. Giá trị cột C ở đây thuộc 1 giá trị cố định em định sẵn ở F16. (Tên cửa hàng chẳng hạn)
Nếu được thì mong các anh giúp em code thì tốt lắm lắm ạ, em cảm ơn các anh !
 
Em có các giá trị ở cột A2:A2000 và giá trị cột M16:M42, một một giá trị ở cột A sẽ tương ứng với 1 số lượng ở cột B ( chính xác ở đây là từ B2:B2000 đó ạ)
Em muốn làm 1 công thức so sánh để tính tổng khối lượng ở cột B với 2 điều kiện:
1. Giá trị của cột A thuộc tập hợp các giá trị của cột M16:M42, nếu có 1 giá trị của cột A là "abc" chẳng hạn, mà cột M16:M42 có 2 giá trị "abc" thì số lượng tương ứng cũng phải gấp lên 2 lần, nhiều lần hơn cũng thế ạ.
2. Giá trị cột C ở đây thuộc 1 giá trị cố định em định sẵn ở F16. (Tên cửa hàng chẳng hạn)
Nếu được thì mong các anh giúp em code thì tốt lắm lắm ạ, em cảm ơn các anh !
Bạn đưa yêu cầu, nhưng bạn không chịu nhìn kỹ yêu cầu của người giải bài!
Nếu có file mẫu chắc sẽ có hướng hay hơn
Không có file kiểm chứng nên đoán mò,

Chúc bạn ngày vui.
 
Hình như chủ thớt muốn gom vầy, anh xem thử: (Do SUMIFS(...) không thể để 'đông' $B$2 mà cho B2000 động rồi kéo qua cột khác thành $B$2: C2000!!?)
=SUMPRODUCT(SUMIFS($B$2:$B2000,$C$2:$C2000,F16,$D$2: $D2000,"L",$A$2:$A2000,$M$16:$M$42))
Không có file kiểm chứng nên đoán mò, như bao lần anh em mình làm 'thầy bói' vậy.

Chúc anh em ngày thiệt vui.
Kiểu tham chiếu (Tuyệt đối, tương đối, hỗn hợp) là theo công thức của người hỏi, tôi để nguyên và không sửa gì cả. Nếu nhu cầu của người tả là chỉ copy công thức theo chiều dọc thì $B$2:B2000 hay $B$2:$B2000 hay B$2:B2000 đều như nhau cả mà thôi.

Tôi dùng hàm MMULT mục đích là để tăng tốc độ tính toán của công thức (mặc dùng cũng không biết có hiệu quả hay không. Tôi chỉ nghĩ đơn giản là A * B * C * (x + y + z) thì tính sẽ nhanh hơn là A * B * C * x + A * B * C * y + A * B * C * z
 
Vấn đề này nó hơi tế nhị nhưng đúng là không biết phải làm thế nào do trình độ em kém quá, mà cái này bạn em nó nhờ nên nghiệp vụ em chỉ biết hạn chế nên em viết cả trong file, mong các anh giúp đỡ thêm và chỉnh sửa vba hộ em với ạ.
 
Vấn đề này nó hơi tế nhị nhưng đúng là không biết phải làm thế nào do trình độ em kém quá, mà cái này bạn em nó nhờ nên nghiệp vụ em chỉ biết hạn chế nên em viết cả trong file, mong các anh giúp đỡ thêm và chỉnh sửa vba hộ em với ạ.
Theo 1 trong các gợi ý trên, bạn có thể dùng:
PHP:
J16=SUMPRODUCT(SUMIFS($B$2:$B$983,$C$2:$C$983,$F16,$D$2:$D$983,"L",$A$2:$A$983,$M$16:$M$42))
Hoặc
J16=SUMPRODUCT(SUMIFS($B$2:$B$983,$C$2:$C$983,$F16,$D$2:$D$983,RIGHT(TRIM(J$15)),$A$2:$A$983,$M$16:$M$42))
Enter fill xuống.

Chúc bạn ngày vui.
p/s: và chỉ có vậy thôi nha bạn!
 
Lần chỉnh sửa cuối:
Vấn đề này nó hơi tế nhị nhưng đúng là không biết phải làm thế nào do trình độ em kém quá, mà cái này bạn em nó nhờ nên nghiệp vụ em chỉ biết hạn chế nên em viết cả trong file, mong các anh giúp đỡ thêm và chỉnh sửa vba hộ em với ạ.
Thử cách sau:
PHP:
=SUMPRODUCT(COUNTIF($M$16:$M$42,$A$2:$A$189)*($C$2:$C$189=$F16)*($D$2:$D$189="L")*$B$2:$B$189)
 
Nếu mình Có text như sau : "Dây dù D500/250/52 dăng mùng". : "Dây dù D20/250/52 dăng mùng". trong chuỗi có 4 chữ d. Mình muốn

Thứ nhất : vị trí chữ D mà phía sau nó là số (ở đây là D5, D2,3,4....), không phải D phía sau là text "Dây, dù, dăng";
Thứ 2 là lấy toàn bộ số nằm sau chữ D và dấu /: ở đây là số 500 liền sau chữ D mà không phải lấy toàn bộ số phía sau chữ D (500/250/52);
thứ 3: và sau đó lấy toàn bộ số sau chữ D (500/250/52)

Vấn đề 2: mình có số trong excel phân cách hàng ngàn, đơn vị bằng dấu .,: ví dụ: A1= 100.000.000,25
Khi mình lập hàm kết nối với nối với A1: ví dụ A2="giá x "&A1 thì kết quả là : gia x 1000000,25.
Tuy nhiên, trong số không có dấu phân cách hàng ngàn. mình muốn nó thể hiện thì làm sao: gia x 1.000.000,25.

Cảm ơn
 
Lần chỉnh sửa cuối:
mình có 1 đoạn sau :

= CONCATENATE(B6, "*", B7,"*",B8,"*",B23,"*",B27)

mình muốn excel hiểu là : nếu giá trị của b27 > 1 thì không ghi đoạn "*",B27 nghĩa là nó sẽ có dạng : = CONCATENATE(B6, "*", B7,"*",B8,"*",B23)

còn nếu giá trị của b27 < 1 thì ghi đoạn "*
",B27 nghĩa là nó sẽ có dạng : = CONCATENATE(B6, "*", B7,"*",B8,"*",B23,"*",B27)


Cho giá trị A1 và A2 , cho A1 giá trị x , A1 giá trị y

A1 : x
A2: y

cho B3 : = A1 * B1

Nếu B3 => 1 thì viết hàm = CONCATENATE(B6, "*", B7,"*",B8)

còn nếu B3 < 1 thì không viết gì cả ?

ai giúp với ạ
 
Lần chỉnh sửa cuối:
Nếu B3<1 thì trả về trống, còn không thì nối?
=IF(B3<1,"",CONCATENATE(B6,"*",B7,"*",B8))

Hay nếu B3<1 thì không nối "*B7" vào chuỗi?
=CONCATENATE(B6,IF(B3<1,"","*B7"),"*",B8)
 
Rút gọn thì bạn có thể làm như sau.
Mã:
=SUM($B$2:B2000*($C$2:C2000=F16)*($D$2:D2000="L")*MMULT(--($A$2:A2000=TRANSPOSE($M16:M$42)),ROW($M16:M$42)^0))
Nếu chỉ vài ô dùng công thức thì có thể dùng được chứ công thức áp dụng cho cả cột thì không có công thức nào nhanh đâu, bạn nên tìm cách khác (VBA, Pivot Table)
Công thức hay và lạ quá .Cám ơn Anh nhiều
 
Lần chỉnh sửa cuối:
Anh chị em trong diễn đàn giúp em rút gọn hàm này với (Mục đích thay chữ ngàn thành chữ nghìn và xóa chữ chẵn trong ô G59
Nhìn 2 hàm SUBSTITUTE nồng vào nhau kỳ kỳ
SUBSTITUTE(SUBSTITUTE(G59;"ngàn";"nghìn");" chẵn";"")
với G59=Một tỷ không trăm mười chín triệu bảy trăm chín mươi chín ngàn ba trăm năm mươi tám đồng chẵn.
 
Cao thủ giúp em với. em gặp vấn đề thế này.
em muốn kéo công thức theo hàng dọc nhưng giá trí tính ở trong chạy theo hàng ngang.
VD: em count(B1:B50) nếu kéo xuống thì nó chạy count(B2:B51). Nhưng em lại cần là kéo xuống mà nó chạy thành count(C1:C50) ạk
Cao nhân giúp em với.
 

File đính kèm

Dùng cái này tại N3 rồi kéo xuống:
=COUNT(OFFSET($A$2:$A$50,,ROWS($1:1),))
 
= CONCATENATE("XXX: ", B6, "*", B7,"*",B8,"*",B9)

với công thức trên nó ra dạng :

XXX : 6*1,9*2,6*8

có cách nào nó ra kết quả luôn ko ? nó hiện luôn kết quả 23712

XXX : 6*1,9*2,6*8 = 23712
 
Ở cột B2 của mình là random các số cho sẵn tùy chọn trong cột A
Có bác nào có cách để cột C2, C3, C4 của mình khi thay đổi thì nó sẽ random ở trong khoảng đó được không.
Ví dụ hiện B2 đang random số từ A2:A15, B3 là random từ A17:30. khi thay đổi C2 thì nó thay đổi tương ứng.
Xin cảm ơn
 

File đính kèm

Hôm nay em lại có việc muốn nhờ các bác giúp đỡ, đề này em kẹt 1 tuần nay rồi chưa biết dùng cách nào để giải, hy vọng được các cao nhân chỉ giáo.

Bài toán:

- Cho 100 dãy số cố định gồm gồm 6 chữ số khác nhau, từ 1-99. Ví dụ 4 - 15 - 45 - 75 - 96 - 99.
- Nhập 1 dãy số ngẫu nhiên cũng bao gồm 6 chữ số khác nhau, từ 1-99. Ví dụ 5 - 35 - 65 - 89 - 98.

Hãy so sánh dãy số nhập vào, với tất cả các dãy số cố định trước đó (so sánh lần lượt từng dãy) để tìm:

- Số lượng con số trùng nhiều nhất giữa dãy nhập với tất cả các dãy còn lại là bao nhiêu.

Ví dụ cụ thể:

- Dãy nhập vào:
+ 5 - 7 - 12 - 19 - 21- 23

- Các dãy cố định cho trước:
+ 5 - 9 - 19 - 21- 88 - 99 (trùng 5 - 19 - 21) (không cần hiện kết quả phần này)
+ 4 - 6 - 23 - 89 - 90 - 91 (trùng 23) (không cần hiện kết quả phần này)

Cột kết quả cho ra: 3 (bởi vì dãy trùng nhiều nhất là 3 số. Chỉ cần hiện tới đây, không cần chi tiết các số trùng cụ thể là bao nhiêu.)

Rất mong các bác hỗ trợ ạ!
 
Tìm Jackpot 6/99?

Đây là bài toán hỏi dài - đáp dài, chứ đâu có hỏi nhanh - đáp nhanh!!!

Vâng bác, bài toán này khá giống jackpot, vẫn là quy tắc chọn ra 6 số, nhưng có 1 số điểm khác sau:

- Dãy số chọn lựa từ 1 - 99.
- 1 dãy số chọn nhưng được so sánh với 100 dãy số cố định cho trước, chứ không phải chỉ so sánh với 1 dãy.


Đề này là 1 đề mục nhỏ trong đề án của của em, mà em bí quá không biết hỏi đâu. Em xin cáo lỗi cùng các bác, Em thay đổi câu hỏi 1 chút, đó là hướng giải quyết của bài này nên dùng hàm, lệnh thế nào. Sau đó em sẽ mò tiếp ạ. Em xin cảm ơn mọi người nhiều.
 
Mong thầy và mọi người giúp em bài toán này với ạ
nội dung bài toán em đặt trong Book ( CARTON2 )
Chân thành cảm ơn thầy và mọi người ạ!
 

File đính kèm

- Cho 100 dãy số cố định gồm gồm 6 chữ số khác nhau, từ 1-99. Ví dụ 4 - 15 - 45 - 75 - 96 - 99.
- Nhập 1 dãy số ngẫu nhiên cũng bao gồm 6 chữ số khác nhau, từ 1-99. Ví dụ 5 - 35 - 65 - 89 - 98.
Hãy so sánh dãy số nhập vào, với tất cả các dãy số cố định trước đó (so sánh lần lượt từng dãy) để tìm:
- Số lượng con số trùng nhiều nhất giữa dãy nhập với tất cả các dãy còn lại là bao nhiêu.
Tôi lập hàm
PHP:
Function TrungMax(v As Range, u As Range)
Dim vRows&, vColumns&, HMax&, STMax&
'So hangf cuar v, so cot cua v, Hangf trungf LN, SL trungf LN'
Dim ss$, xx&, i&, j&

TrungMax=0
vColumns = v.Columns.Count
If vColumns <> u.Columns.Count Then Exit Function
If vColumns > 9 Then Exit Function
If u.Rows.Count <> 1 Then Exit Function
vRows = v.Rows.Count
HMax = 0: STMax = 0: ss = ","
For j = 1 To vColumns
    ss = ss & u(j) & ","
    Next
For i = 1 To vRows
    xx = 0
    For j = 1 To vColumns
        If InStr(ss, "," & v(i, j) & ",") Then
            xx = xx + 1
            End If
        Next
    If xx > STMax Then
        STMax = xx: HMax = i
        End If
    Next
TrungMax = HMax + STMax / 10
End Function
Trong đó v và u là 2 vùng có số cột bằng nhau và nhỏ hơn 9. V có nhiều hàng, u chỉ có 1 hàng. Nếu không thỏa đk đó thì cho kq 0.
Kết quả có dạng ví dụ: 9.3 tức là trùng lớn nhất = 3 tại hàng số 9 . Có thể sau đó có trùng 3 nhưng ở hàng sau

Ví dụ Tại ô H1 nhập =TrungMax(A1:F30,A32:F32)
thì v=A1:F30, có 30 hàng, u=A32:F32 có 1 hàng, 2 vùng đều có 6 cột.
 
Chào các bạn, mình có 1 đề bài nho nhỏ như này.
Mình có 1 file excel gồm 2 sheet, ở sheet thứ nhất, cột Q (Tháng 1) mình muốn lấy dữ liệu từ cột J bên Sheet thứ 2 nhưng tất nhiên phải tương ứng với cột G Sheet thứ 2.
Tiếp tục như thế cột R,S, T Sheet thứ 1đều là dữ liệu của cột J sheet thứ 2.
Các bạn xem rồi giúp mình nhé!
Tks!
 

File đính kèm

Lần chỉnh sửa cuối:
Chào các bạn, mình có 1 đề bài nho nhỏ như này.
Mình có 1 file excel gồm 2 sheet, ở sheet thứ nhất, cột S (Tháng 1) mình muốn lấy dữ liệu từ cột J bên Sheet thứ 2 nhưng tất nhiên phải tương ứng với cột G Sheet thứ 2.
Tiếp tục như thế cột R,S, T Sheet thứ 1đều là dữ liệu của cột J sheet thứ 2.
Các bạn xem rồi giúp mình nhé!
Tks!
- cột S (Tháng 1) : không thấy cột S tháng 1.
- phải tương ứng với cột G Sheet thứ 2: Cột G gồm 1701;1702;1703,.... mà bên sheet thứ nhất chẳng thấy 1702,1703... vậy nó nằm ở đâu, trong cột D sheet thứ nhất chỉ thấy 1701, 4918,4944...?
Nếu 1701 là tháng 01/2017 thì 4918, 4944 là gì?
- Bạn phải giải thích sao cho người "ngoài ngành" của bạn cũng hiểu được may ra mới có trả lời.
- Tks! Lại càng không hiểu là gì. Tiếng "Công gô"?
 
Lần chỉnh sửa cuối:
Bạn ơi, các tiểu mục 4918, 4944 bỏ qua bạn ạ, vì mình chỉ quan tâm và VD 1701 còn những cái kia mình tự làm. Và sheet 1 cột Q là Tháng 1 (mình nhầm) tương ứng với 1701, tháng 2 là 1702 của sheet 2 mà bạn.
 
Chào các bạn, mình có 1 đề bài nho nhỏ như này.
Mình có 1 file excel gồm 2 sheet, ở sheet thứ nhất, cột Q (Tháng 1) mình muốn lấy dữ liệu từ cột J bên Sheet thứ 2 nhưng tất nhiên phải tương ứng với cột G Sheet thứ 2.
Tiếp tục như thế cột R,S, T Sheet thứ 1đều là dữ liệu của cột J sheet thứ 2.
Các bạn xem rồi giúp mình nhé!
Tks!
Các bạn ngang qua xem giúp mình với nhé!
 
Bạn ơi, các tiểu mục 4918, 4944 bỏ qua bạn ạ, vì mình chỉ quan tâm và VD 1701 còn những cái kia mình tự làm. Và sheet 1 cột Q là Tháng 1 (mình nhầm) tương ứng với 1701, tháng 2 là 1702 của sheet 2 mà bạn.
Nếu đơn giản vậy thì bạn xem file này:
 

File đính kèm

Tại ô E4 copy cho toàn bộ bảng:

Mã:
=SUMIFS(Data!$J$2:$J$23,Data!$B$2:$B$23,'Khoi DNTN'!$B4,Data!$G$2:$G$23,1700+COLUMN(A:A))

Chỉ đúng cho năm 2017 thôi nhé

P/S: Mình là kế toán nên có duyên nợ với các đ/c chuyên quản thuế về vụ này lắm
 
Tại ô E4 copy cho toàn bộ bảng:

Mã:
=SUMIFS(Data!$J$2:$J$23,Data!$B$2:$B$23,'Khoi DNTN'!$B4,Data!$G$2:$G$23,1700+COLUMN(A:A))

Chỉ đúng cho năm 2017 thôi nhé

P/S: Mình là kế toán nên có duyên nợ với các đ/c chuyên quản thuế về vụ này lắm
Lỗi #NAME? bạn ơi.
Xem lại hộ mình nhé, bạn đồng hành :)
 

File đính kèm

Lần chỉnh sửa cuối:
Tôi dùng hàm datedif để tính tuổi theo hướng dẫn trên diễn đàn này, nhưng bị lỗi mà không biết cách sửa, mong các bạn giúp (trong file đính kèm)
Rất cám ơn các bạn
 

File đính kèm

Chào mọi người, vì mình không giỏi excel và mình có file này cần mn giúp đỡ, để tính ngược lại trước giờ m chỉ làm thủ công để cấn trừ. Xin được mn giúp đỡ. Cám ơn mn nhiều.
 

File đính kèm

help me?
ở sheet phiếu nhập em sài vlookup đề tìm kiếm giá trí mà nó chỉ chả về giá trị đúng ở ô đầu tiên. khi kéo hàm xuống nó không thay đổi. xem file của em sẽ hiểu.
 

File đính kèm

Thì trong file đính kèm của mình ra kết quả thế chứ mình không biết lỗi gì nữa.
Mà trong file của bạn không cần dùng dấu ; nữa vẫn ra kết quả được là sao?
Tại E7, nhấp chuột phải =>format cells =>number =>general =>ok
 
Bạn thay đổi lại cách xưng hô đi, cố gắng giữ gìn sự trong sáng tiếng mẹ đẻ, thì sẽ có người cố gắng giúp bạn.
Ở đây mọi người học hỏi nhau là chính, chứ chưa ai đạt được cái tầm như bạn nghĩ, có gọi hoài cũng thế.
Thân ái !:p
tại đang cần gấp quá bác, xin rút kinh nghiệm
 
Chào mọi người, vì mình không giỏi excel và mình có file này cần mn giúp đỡ, để tính ngược lại trước giờ m chỉ làm thủ công để cấn trừ. Xin được mn giúp đỡ. Cám ơn mn nhiều.
Bạn xem thử đúng chưa, đọc lời bạn nói , mình nghe cũng mơ hồ quá
 

File đính kèm

Bạn xem thử đúng chưa, đọc lời bạn nói , mình nghe cũng mơ hồ quá

Cám ơn bạn, nhưng đáp án chưa như ý mình.
Mình có làm cột đáp án nếu mình nhập tay, ý mình là trường hơp có nghỉ việc riêng nhưng phép năm còn thì cấn trừ để phép năm về 0, và phép việc riêng sẽ giảm xuống.
 

File đính kèm

Cám ơn bạn, nhưng đáp án chưa như ý mình.
Mình có làm cột đáp án nếu mình nhập tay, ý mình là trường hơp có nghỉ việc riêng nhưng phép năm còn thì cấn trừ để phép năm về 0, và phép việc riêng sẽ giảm xuống.
Hy vọng đúng theo ý của bạn
Chưa đúng thì cứ phản hồi nha.
 

File đính kèm

Cám ơn bạn, nhưng đáp án chưa như ý mình.
Mình có làm cột đáp án nếu mình nhập tay, ý mình là trường hơp có nghỉ việc riêng nhưng phép năm còn thì cấn trừ để phép năm về 0, và phép việc riêng sẽ giảm xuống.
chắc vầy phải ko?
cột (4): =MAX(E4-F4-G4,0)
cột (5):=MAX(G4+F4-E4,0)
hihi ^o^
 

File đính kèm

mọi người ơi, cho mình hỏi làm thế nào để định dạng được cột TÊN KHÁCH HÀNG ( sheet BANHANG-THUTIEN) theo cột có sẳn là TÊN KHÁCH HÀNG ( sheet DMKH) như trong hình vậy. xin mọi người giúp đỡ, cảm ơn nhiều.
upload_2017-12-31_8-59-41.png upload_2017-12-31_9-0-25.png
 
Dạ em cần giúp công thức dò tìm ạ. Em có up File bên dưới. Em muốn là khi mình đánh SỐ LƯỢNG GHE thì GIÁ B.XẾP GHE sẽ dò tìm ra giá trị còn GIÁ B.XẾP XE sẽ có giá trị bằng 0 và ngược lại. Vì hiện giờ em ko rành công thức nên Vlookup nó hiện ra 2 giá 1 lúc ạ. |Em cám ơn trước ạ!
 

File đính kèm

Dạ em cần giúp công thức dò tìm ạ. Em có up File bên dưới. Em muốn là khi mình đánh SỐ LƯỢNG GHE thì GIÁ B.XẾP GHE sẽ dò tìm ra giá trị còn GIÁ B.XẾP XE sẽ có giá trị bằng 0 và ngược lại. Vì hiện giờ em ko rành công thức nên Vlookup nó hiện ra 2 giá 1 lúc ạ. |Em cám ơn trước ạ!
Bạn thêm hàm IF() cho 1 số cột (C,F,G,Q,S...) là xong.
 

File đính kèm

=CONCATENATE(" xxx :",B27*2,"*70*6" )

cái số B27 nó ra 1 dãy số dài ngoằng ví dụ : 435.5467895486

nó hiện XXX: 435.5467895486 * 70 * 6

có cách nào cho nó làm tròn 435.546 ko ạ ,

mình muốn nó hiện là : XXX: 435.546 * 70 * 6
 
=CONCATENATE(" xxx :",B27*2,"*70*6" )

cái số B27 nó ra 1 dãy số dài ngoằng ví dụ : 435.5467895486

nó hiện XXX: 435.5467895486 * 70 * 6

có cách nào cho nó làm tròn 435.546 ko ạ ,

mình muốn nó hiện là : XXX: 435.546 * 70 * 6
Vậy còn *2 màu đỏ bạn bỏ đâu?
Hay là vầy : =CONCATENATE(" xxx :",TRUNC(435.5467895486*2,3),"*70*6" )
hoặc : =CONCATENATE(" xxx :",TRUNC(435.5467895486,3),"*2","*70*6" )
Tùy bạn chọn.
Chúc mọi người cuối tuần vui vẻ
 
Daer ACE

Nhờ mọi người giúp mình công thức cách tính ra số giờ như bên dưới giúp em nha!

upload_2018-1-8_8-45-7.png

Thanks!
 

File đính kèm

  • upload_2018-1-8_8-44-19.png
    upload_2018-1-8_8-44-19.png
    6.6 KB · Đọc: 3
GHIJ - BCDE bạn!

Mình làm công thức gì k biết đúng k bạn chỉ giúp mình hen!

=HOUR(DATE(h2,i2,j2)/24-DATE(c2,d2,e2)/24)*24+(g2-b2)

Thanks bạn
Do bạn không đưa file lên nên bạn tham khảo này nhé. Đưa lên tốt hơn
lần sau chú ý không dùng thanks dear ACE nha.
Thân ái :p
 

File đính kèm

Dùng CT này, ra 24 nhé

=(DATE(J2,I2,H2)-DATE(E2,D2,C2))*24+(G2-B2)
 
AE GPE giup mình vấn đề này với!
Mình có file dữ liệu như dưới. giờ mình muốn thay thế Chữ K thành số ramdom từ 4 tới 7 thì có cách nào nhanh không vậy? nó có khoảng 341 chữ K nhưng mình chỉ cần thay thế khoảng 150 chữ thành số thôi.
 

File đính kèm

AE GPE giup mình vấn đề này với!
Mình có file dữ liệu như dưới. giờ mình muốn thay thế Chữ K thành số ramdom từ 4 tới 7 thì có cách nào nhanh không vậy? nó có khoảng 341 chữ K nhưng mình chỉ cần thay thế khoảng 150 chữ thành số thôi.
Bạn chạy code này, kết quả trả về Sheet3
PHP:
Sub Repl()
Application.ScreenUpdating = False
Dim arr, wf As WorksheetFunction, nK As Long, rng As Range, cell As Range, arr2, firstcell, i As Long, dic As Object, npost As Long
Set dic = CreateObject("scripting.dictionary"): Set wf = WorksheetFunction: Set rng = Sheets("sheet1").[A1:CB105]
Sheets("sheet1").UsedRange.Copy Sheets("sheet3").[a1]
nK = wf.CountIf(Sheets("sheet1").[A1:CB105], "K")
ReDim arr2(nK)
Set cell = rng.Find("K", LookIn:=xlValues, lookat:=xlWhole, searchorder:=xlRows)
If Not cell Is Nothing Then
    firstcell = cell.Address: arr2(0) = cell.Address
    Do
        i = i + 1
        Set cell = rng.FindNext(cell): arr2(i) = cell.Address
    Loop Until cell.Address = firstcell
End If
Do
    npost = wf.RandBetween(1, nK)
    If Not dic.exists(npost) Then dic.Add npost, ""
Loop Until dic.Count = 150
For Each Key In dic.keys
    Sheets("sheet3").Range(arr2(Key - 1)) = wf.RandBetween(4, 7): Sheets("sheet3").Range(arr2(Key - 1)).Interior.ColorIndex = 4
Next
Set dic = Nothing
MsgBox "Done!"
Application.ScreenUpdating = True
End Sub
Đang thay thế là 150, muốn số khác thì bạn sửa số 150 trong đoạn code trên thành số khác, tất cả đều chạy random nên mỗi lần chạy sẽ ra số khác nhau!!!
 

File đính kèm

Cảm ơn anh nhé. thành công rực rỡ.
 
Thân gửi anh em , mình có 3 sheet
- Đơn đặt hàng ( sl hàng khách đặt qua các ngày)
- Báo cáo bán hàng ( export từ hệ thống )
- Kết đơn hàng ( mình chốt lại sl đặt & sl đã giao , từ đó suy ra còn bao nhiêu để giao tiếp )

Lúc trc em kết sl đặt hàng của 1 kho bằng Pivot table , tuy nhiên sau này sl kho lên đến hàng trăm thì ko thể làm thủ công được
Anh em giúp mình sum lại sl hàng khách đã đặt theo thông tin mình cần : Model , sl đã đặt bằng công thức
 

File đính kèm

Thân gửi anh em , mình có 3 sheet
- Đơn đặt hàng ( sl hàng khách đặt qua các ngày)
- Báo cáo bán hàng ( export từ hệ thống )
- Kết đơn hàng ( mình chốt lại sl đặt & sl đã giao , từ đó suy ra còn bao nhiêu để giao tiếp )

Lúc trc em kết sl đặt hàng của 1 kho bằng Pivot table , tuy nhiên sau này sl kho lên đến hàng trăm thì ko thể làm thủ công được
Anh em giúp mình sum lại sl hàng khách đã đặt theo thông tin mình cần : Model , sl đã đặt bằng công thức
Báo cáo bán hàng thiếu thông tin quan trọng là bán cho đơn đặt hàng nào? kết quả tính sheet đơn đặt hàng SAI
 
Báo cáo bán hàng thiếu thông tin quan trọng là bán cho đơn đặt hàng nào? kết quả tính sheet đơn đặt hàng SAI
ko cần thông tin đơn đặt hàng nào đâu bạn , chỉ cần biết tổng sl hàng được đặt thôi ạ

Vì có nhiều ĐH trùng nên khi kết ĐH ở sheet thứ 3 rồi mới tính ra đc sl còn lại chưa giao chính xác ạ
 
Lần chỉnh sửa cuối:
ko cần thông tin đơn đặt hàng nào đâu bạn , chỉ cần biết tổng sl hàng được đặt thôi ạ

Vì có nhiều ĐH trùng nên khi kết ĐH ở sheet thứ 3 rồi mới tính ra đc sl còn lại chưa giao chính xác ạ
làm 1 kho, còn lại tự làm
 

File đính kèm

làm 1 kho, còn lại tự làm
tks bác nhiều , em kiểm trả thì đúng gần hết , mà có 3 mã hàng số lượng ko đúng
Mong bác xem lại giúp em

20185afe7f0b-274a-45a1-8815-ce6a36c1a038.jpg


EM kiểm tra lại sheet ĐƠN ĐẶT HÀNG thì các model này bị sai gì thì phải
2018b80e7b88-fa28-426d-9157-bf9dc41b86ed.jpg
 
Lần chỉnh sửa cuối:
tks bác nhiều , em kiểm trả thì đúng gần hết , mà có 3 mã hàng số lượng ko đúng
Mong bác xem lại giúp em

20185afe7f0b-274a-45a1-8815-ce6a36c1a038.jpg


EM kiểm tra lại sheet ĐƠN ĐẶT HÀNG thì các model này bị sai gì thì phải
2018b80e7b88-fa28-426d-9157-bf9dc41b86ed.jpg
Chỉnh lại công thức ô M2 sheet đơn đặt hàng
Mã:
M2 =F2&"_"&IF(COUNTIFS($F$1:F1,F2,$H$1:H1,H2),"N",COUNTIF($M$1:M1,F2&"*")+1)&"_"&H2
 

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

Back
Top Bottom