Chưa rõ quy luật chính xác. Bạn thử nhập công thức này vào ô D2 rồi "kéo" xuống đến dòng cuối.E chào các ace,
E có 1 bảng danh sách các loài thực vật (file đính kèm)
Cái e cần là điền cột D (như trong hình).
E ko biết dùng VBA.
Mong các ace giúp đỡ ạ. Nếu copy thủ công thì rất mất thời gian, vì có thể trong bảng tính có rất nhiều Họ thực vật.
E cảm ơn ace đã xem bài.
View attachment 214065
=IF(AND(B2="";C2="");"";OFFSET($E$1;MATCH(10^10;$B$2:B2;1);))
E chào các ace,
E có 1 bảng danh sách các loài thực vật (file đính kèm)
Cái e cần là điền cột D (như trong hình).
E ko biết dùng VBA.
Mong các ace giúp đỡ ạ. Nếu copy thủ công thì rất mất thời gian, vì có thể trong bảng tính có rất nhiều Họ thực vật.
E cảm ơn ace đã xem bài.
View attachment 214065
D3 =IF(B3+C3,LOOKUP(10^6,$B$3:B3,$E$3:E3),"")
Bước 1. Tại cột B lọc bỏ blanksE chào các ace,
E có 1 bảng danh sách các loài thực vật (file đính kèm)
Cái e cần là điền cột D (như trong hình).
E ko biết dùng VBA.
Mong các ace giúp đỡ ạ. Nếu copy thủ công thì rất mất thời gian, vì có thể trong bảng tính có rất nhiều Họ thực vật.
E cảm ơn ace đã xem bài.
View attachment 214065
Bạn chạy thử code này nhé.E chào các ace,
E có 1 bảng danh sách các loài thực vật (file đính kèm)
Cái e cần là điền cột D (như trong hình).
E ko biết dùng VBA.
Mong các ace giúp đỡ ạ. Nếu copy thủ công thì rất mất thời gian, vì có thể trong bảng tính có rất nhiều Họ thực vật.
E cảm ơn ace đã xem bài.
View attachment 214065
Sub diencot()
Dim arr, arr1, lr As Long, i As Long, ten As String
With Sheets("Sheet1")
lr = .Range("E" & Rows.Count).End(xlUp).Row
If lr < 2 Then Exit Sub
arr = .Range("B2:E" & lr).Value
ReDim arr1(1 To UBound(arr, 1), 1 To 1)
For i = 1 To UBound(arr, 1)
If Len(arr(i, 1)) > 0 Then
ten = arr(i, 4)
arr1(i, 1) = ten
ElseIf Len(arr(i, 2)) > 0 Then
arr1(i, 1) = ten
End If
Next i
.Range("D2:D" & lr).Value = arr1
End With
End Sub
E ko dùng VBA mà bácBạn chạy thử code này nhé.
Mã:Sub diencot() Dim arr, arr1, lr As Long, i As Long, ten As String With Sheets("Sheet1") lr = .Range("E" & Rows.Count).End(xlUp).Row If lr < 2 Then Exit Sub arr = .Range("B2:E" & lr).Value ReDim arr1(1 To UBound(arr, 1), 1 To 1) For i = 1 To UBound(arr, 1) If Len(arr(i, 1)) > 0 Then ten = arr(i, 4) arr1(i, 1) = ten ElseIf Len(arr(i, 2)) > 0 Then arr1(i, 1) = ten End If Next i .Range("D2:D" & lr).Value = arr1 End With End Sub