kohlerbkqn
Thành viên mới
- Tham gia
- 1/6/08
- Bài viết
- 20
- Được thích
- 0
vâng, đầu vào thứ tự như vậy ạ, Tuyến A-B thì dòng A trước, B sau. Em muốn dùng công thức để lookup giá trị tương ứng, giá trị của đầu A trong tuyến A-B, hoặc đầu A trong tuyến A-C ....Bảng chính đã được sắp xếp theo thứ tự tuyến chưa?
Thiệt ra bài này làm công thức hay query hay code cũng được. Vấn đề là nếu bảng chính đã được sắp xếp thì nhanh hơn nhiều.
Công thức tại C12, E12 làm tương tự:vâng, đầu vào thứ tự như vậy ạ, Tuyến A-B thì dòng A trước, B sau. Em muốn dùng công thức để lookup giá trị tương ứng, giá trị của đầu A trong tuyến A-B, hoặc đầu A trong tuyến A-C ....
=SUMPRODUCT(($A$2:$A$7=A12)*($B$2:$B$7=B12)*$C$2:$C$7)
Hôm nay bác Vẹt mát tính hay sao ý, hihi.Vấn đề là nếu bảng chính đã được sắp xếp thì nhanh hơn nhiều.
Thanks 2 bác Nhattanktnn và VetMini nhiều ạ. Hàm đúng theo như mong muốn, tuy nhiên nếu "giá trị" là chuỗi ký tự thì bị lỗi ạ.Công thức tại C12, E12 làm tương tự:
Mã:=SUMPRODUCT(($A$2:$A$7=A12)*($B$2:$B$7=B12)*$C$2:$C$7)
Thử tại C12 :Kết quả mong muốn của mình là thứ tự như bảng, và còn nhiều cột "giá trí" tương ứng với cặp A-C, A-B........ và nhiều hàng chứ ko phải chỉ có vài hàng như vậy.
Bài đã được tự động gộp:
Thanks 2 bác Nhattanktnn và VetMini nhiều ạ. Hàm đúng theo như mong muốn, tuy nhiên nếu "giá trị" là chuỗi ký tự thì bị lỗi ạ.
View attachment 251539
=INDEX($C$2:$C$7,MATCH(1,INDEX(($B$2:$B$7=$B12)*($A$2:$A$7=$A12),),0),)
=INDEX($C$2:$C$7,MATCH(A12&"-"&B12,$A$2:$A$7&"-"&$B$2:$B$7,0),1)
Tham gia một SubNhờ các anh/chị giúp đỡ, chuyển dữ liệu từ cột sang hàng như hình ảnh và file đính kèm ạ.
Xin cảm ơn nhiều ạ.
View attachment 250957
Public Sub Gpe()
Dim sArr(), dArr(), I As Long, K As Long, R As Long, Txt As String
sArr = Range("A2", Range("A2").End(xlDown)).Resize(, 3).Value
R = UBound(sArr)
ReDim dArr(1 To R / 2, 1 To 5)
For I = 1 To R
If sArr(I, 1) <> Txt Then
K = K + 1
dArr(K, 1) = sArr(I, 1)
dArr(K, 2) = sArr(I, 2)
dArr(K, 3) = sArr(I, 3)
Txt = sArr(I, 1)
Else
dArr(K, 4) = sArr(I, 2)
dArr(K, 5) = sArr(I, 3)
End If
Next I
Range("F2").Resize(1000, 5).ClearContents
Range("F2").Resize(K, 5) = dArr
End Sub