Bagaimana saya bisa mengindeks nilai yang tepat diulang dalam beberapa kolom di Excel


0

Aplikasi ini untuk mencantumkan apa rak item akan berlokasi di gudang.

Misalnya jika suatu barang disimpan di beberapa rak yang berbeda. Saya tidak perlu total berapa kali item tersebut diulang, cukup tajuk kolom dalam hal ini "Rak #" di mana item itu dapat ditemukan.

Saya membuat contoh sederhana dan memerlukan kode untuk B2.

Saya baru saja memasukkan nilai B2 untuk menunjukkan hasil yang saya cari:

enter image description here


1
Bukankah kita semua "hanya perlu kode" untuk sesuatu? - Serius, ini adalah situs web di mana orang akan membantu Anda dengan masalah khusus pada tingkat terperinci, setelah Anda telah menunjukkan bahwa Anda mencoba menyelesaikannya dan di mana Anda gagal.
Run CMD

Berapa banyak rak yang Anda miliki di data asli Anda?
Excellll

Sayangnya aplikasi ini untuk gudang besar di mana akan ada 102 rak / kolom. Saya sedang mencari cara yang efisien untuk membuat daftar rak barang apa yang dapat ditemukan sehingga mereka dapat mengatur kembali inventaris kami. Kemungkinan besar kode / item hangus hanya akan ditemukan di 1 atau 2 Rak paling banyak. @Class Stacker Pengetahuan excel saya minimal dan setelah beberapa saat di Youtube dan situs lain seperti ini saya belum menemukan solusi. Saya menghargai tanggapan semua orang yang membantu.
Jared

Jawaban:


0

Solusi rumit tanpa menggunakan VBA

  • Memasukkan ="" ke G2: G6.
  • Memasukkan =IF(NOT(ISNA(MATCH($A2,D$2:D$5,0))),CONCATENATE(G2,IF(G2="","",", "),D$1),G2) ke H2 dan salin ke H2: J6
  • Memasukkan =J2 ke B2 dan salin ke B2: B6

Solution to Questions

Jika Anda menambahkan rak, Anda perlu menambahkan kolom di kanan kolom J.

More Racks and more content in the Racks

Jika ada fungsi gabungan string yang bagus di Excel, seseorang dapat mempersingkatnya ....

Penjelasan

Kita harus meletakkan ="" ke dalam kolom G karena saya ingin memiliki kode yang sama di kolom H ke J dan tidak ada tambahan jika klausa.

Perintah panjang menjelaskan:

  • Di baris mana A2 dalam kolom D2: D5 (jika tidak ada maka #NA) = & gt; MATCH (A2, D2: D5,0)
  • Apakah A2 tidak ada di kolom D2: D5 = & gt; ISNA (MATCH (A2, D2: D5,0))
  • Balikkan "Apakah A2 tidak ada di kolom D2: D5" = & gt; BUKAN (ISNA (MATCH (A2, D2: D5,0))))
  • Jika hal di atas terjadi maka lakukan hal lain. ITU = & gt; JIKA (BUKAN (ISNA (MATCH (A2, D2: D5,0)))), INI, BAHWA
  • INI (A2 ada di Kolom = kami ingin menuliskan "Rak 1") = & gt; CONCATENATE (G2, IF (G2 = "", "", ","), D1)
  • BAHWA (kami tidak memiliki yang baru) = & gt; G2

-1

Ini dia, menggunakan VBA / Macro:

Public Function racks(code As String, range As range) As String
    result = ""
    Separator = ","
    colRanges = range.Columns.Count
    rowRanges = range.Rows.Count
    For i = 1 To colRanges
        For j = 2 To rowRanges
            If code = range.Cells(j, i) Then
                If result <> "" Then
                    result = result & Separator & range.Cells(1, i)
                Else
                    result = range.Cells(1, i)
                End If
                j = rowRanges
            End If
        Next j
    Next i
    racks = result
End Function

Buka VBA / Macro dengan Alt + F11, masukkan modul baru di bawah Buku Kerja Ini , dan rekatkan kode ini di sisi kanan.

Fungsi ini menggunakan dua parameter, yaitu kode dan jarak di mana ia akan melakukan pencarian.

Misalnya, untuk sel B2 pada contoh Anda itu akan menjadi =racks(A2,$D$1:$F$5).


Luar biasa, saya menghargai respons mendalam Anda! Saya tidak berpikir akan ada respon cepat.
Jared
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.