ĐÁNH SỐ THỨ TỰ ĐẦU,GIỮA,CUỐI

  • Thread starter Thread starter LOIKS
  • Ngày gửi Ngày gửi
Liên hệ QC

LOIKS

Thành viên chính thức
Tham gia
10/8/18
Bài viết
97
Được thích
7
chào mọi người
mình có 1 file dữ liệu sau, chỉ xét cột "TÊN" và cột "VỊ TRÍ"
với 1 tên tại cột "TÊN" tại cột "VỊ TRÍ" có 3 vị trí, vị trí này được ghi theo số từ nhỏ đến lớn ,mình muốn vị trí nhỏ nhất ghi là "gối" vị trí tiếp theo là "nhip", vị trí cuối cùng là "gối"
nếu có 2 vị trí thì vị trí nhỏ nhất ghi là "gối" và vị trí còn lại là "nhip"
mình đả sử dụng pivottable nhưng do kiến thức hạn chế nên làm chưa ổn lắm, mong mọi người giúp
 

File đính kèm

chào mọi người
mình có 1 file dữ liệu sau, chỉ xét cột "TÊN" và cột "VỊ TRÍ"
với 1 tên tại cột "TÊN" tại cột "VỊ TRÍ" có 3 vị trí, vị trí này được ghi theo số từ nhỏ đến lớn ,mình muốn vị trí nhỏ nhất ghi là "gối" vị trí tiếp theo là "nhip", vị trí cuối cùng là "gối"
nếu có 2 vị trí thì vị trí nhỏ nhất ghi là "gối" và vị trí còn lại là "nhip"
mình đả sử dụng pivottable nhưng do kiến thức hạn chế nên làm chưa ổn lắm, mong mọi người giúp

G2=IF(AND(G1="GỐI",A2=A1),"NHỊP","GỐI")
 
Upvote 0
Thêm 1 cách theo đúng tinh thần "điều kiện" bạn đưa ra, đặt công thức tại G2=IF(COUNTIF($A$2:A2;A2)=1;"GỐI";IF(COUNTIF($A$2:A2;A2)=2;"NHỊP";"GỐI")), fill đến hết.
 
Upvote 0
Upvote 0
Khiếp!, Đã có gần 30 cái macro rồi; Cái nữa cho bạn đây:
PHP:
Sub GoiVaNhip()
Dim Cls As Range, Rng As Range, sRng As Range
Dim MyAdd As String:                   Dim J As Long

Set Rng = Range([A1], [A1].End(xlDown))
For Each Cls In Range([L2], [L2].End(xlDown))
    Set sRng = Rng.Find(Cls.Value, , xlValues, xlWhole)
    If Not sRng Is Nothing Then
        J = 0
        MyAdd = sRng.Address
        Do
            J = J + 1
            If J = 1 Then
                Cells(sRng.Row, "G").Value = "G*i"
            ElseIf J = 2 Then
                Cells(sRng.Row, "G").Value = "Nhip"
            ElseIf J = 3 Then
                Cells(sRng.Row, "G").Value = "G@I"
            Else
                Cells(sRng.Row, "G").Value = "GPE.COM"
            End If
            Set sRng = Rng.FindNext(sRng)
        Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
    Else
    End If
Next Cls
End Sub

Danh sách duy nhất của cột [A:a] cần thiết lập trước (khi chạy macro) ở cột [L:l]
 
Upvote 0
Thêm 1 cách theo đúng tinh thần "điều kiện" bạn đưa ra, đặt công thức tại G2=IF(COUNTIF($A$2:A2;A2)=1;"GỐI";IF(COUNTIF($A$2:A2;A2)=2;"NHỊP";"GỐI")), fill đến hết.
Ý hay!
Nhưng chỉ cần biết nó =2 là "Nhịp" rồi, thì mấy cái khác còn lại (kệ nó là 1 hay 3), chắc chắn phải là "Gối". :)

Góp vui thêm cách:
G2=IF(MOD(ROW(A1)-2,3),"GỐI","NHỊP")

Thân
 
Lần chỉnh sửa cuối:
Upvote 0
Ý hay!
Nhưng chỉ cần biết nó =2 là "Nhịp" rồi, thì mấy cái khác còn lại (kệ nó là 1 hay 3), chắc chắn phải là "Gối". :)

Góp vui thêm cách:
G2=IF(MOD(ROW(A1)-2,3),"GỐI","NHỊP")

Thân
Cách này mà dùng là tèo à nha! Trường hợp 1 tên chỉ có 2 dòng là tèo luôn à!
 
Upvote 0
Web KT

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

Back
Top Bottom