fungsi mid dengan digit dinamis

  1. 10 bulan yang lalu

    pertanyaan terlampir

    Pendapat saya begini mbak @Novi. Kalau teks gabungan kolom USER, ITEM, BERAT dan ID tersebut merupakan hasil proses dari Excel (baik melalui formulasi maupun dengan bantuan VBA Code), ada baiknya proses penggabungan teks/nilai tersebut yang dimodifikasi kembali (formula atau VBA Code-nya). Idenya adalah membuat teks hasil penggabungan tersebut memiliki pola tertentu yang akan lebih mudah untuk dibaca nantinya. Contohnya begini:

    + Jika teks pada kolom USER dan ITEM dan ID (kecuali kolom BERAT) memiliki panjang karakter yang tetap (misalkan 4 karakter), maka contoh formulasi yang dapat digunakan adalah:

    F1 = CONCATENATE(A1;B1;C1;D1)
    G1 = MID(F1;9;LEN(MID(F1;9;100))-4)*1

    + Jika teks pada kolom USER dan ITEM dan ID (kecuali kolom BERAT) memiliki panjang karakter yang tetap (misalkan 4 karakter), dan panjang karakter untuk nilai pada kolom BERAT dibuat tetap, asumsikan panjang karakternya adalah 6 karakter (terdiri dari 3 karakter untuk bilangan bulat, 1 karakter tanda koma/titik, dan 2 karakter untuk bilangan pecahannya), maka contoh formulasi yang dapat digunakan adalah:

    F1 = CONCATENATE(A1;B1;SUBSTITUTE(TEXT(C1;"000,00");",";".");D1)
    G1 = (MID(F1;9;3)*1)+(MID(F1;13;2)/100)

    Bagaimana pola teks hasil gabungan yang diinginkan, saya serahkan kembali kepada ke mbak @Novi... ;) Beberapa contoh pola teks gabungan yang saya buat dapat dilihat pada file terlampir.

    Lalu bagaimana solusinya jika teks gabungan tersebut merupakan hasil proses dari aplikasi lain yang diimpor ke Excel? Saya yakin solusinya akan berbeda-beda. Dan bagaimana bentuknya, saat ini saya tidak dapat memastikannya. Saran saya, pelajari dahulu pola teksnya, coba temukan apakah ada pola-pola tertentu yang dapat diproses menggunakan formulasi atau VBA Code.

    Demikian konsep yang saya punya. Atau mungin mbak @Novi sudah menemukan solusi sendiri... :D

  2. Caton

    22 Okt 2017 Terverifikasi Jawaban Terpilih Indonesia + 10.419 Poin

    Pendapat saya begini mbak @Novi. Kalau teks gabungan kolom USER, ITEM, BERAT dan ID tersebut merupakan hasil proses dari Excel (baik melalui formulasi maupun dengan bantuan VBA Code), ada baiknya proses penggabungan teks/nilai tersebut yang dimodifikasi kembali (formula atau VBA Code-nya). Idenya adalah membuat teks hasil penggabungan tersebut memiliki pola tertentu yang akan lebih mudah untuk dibaca nantinya. Contohnya begini:

    + Jika teks pada kolom USER dan ITEM dan ID (kecuali kolom BERAT) memiliki panjang karakter yang tetap (misalkan 4 karakter), maka contoh formulasi yang dapat digunakan adalah:

    F1 = CONCATENATE(A1;B1;C1;D1)
    G1 = MID(F1;9;LEN(MID(F1;9;100))-4)*1

    + Jika teks pada kolom USER dan ITEM dan ID (kecuali kolom BERAT) memiliki panjang karakter yang tetap (misalkan 4 karakter), dan panjang karakter untuk nilai pada kolom BERAT dibuat tetap, asumsikan panjang karakternya adalah 6 karakter (terdiri dari 3 karakter untuk bilangan bulat, 1 karakter tanda koma/titik, dan 2 karakter untuk bilangan pecahannya), maka contoh formulasi yang dapat digunakan adalah:

    F1 = CONCATENATE(A1;B1;SUBSTITUTE(TEXT(C1;"000,00");",";".");D1)
    G1 = (MID(F1;9;3)*1)+(MID(F1;13;2)/100)

    Bagaimana pola teks hasil gabungan yang diinginkan, saya serahkan kembali kepada ke mbak @Novi... ;) Beberapa contoh pola teks gabungan yang saya buat dapat dilihat pada file terlampir.

    Lalu bagaimana solusinya jika teks gabungan tersebut merupakan hasil proses dari aplikasi lain yang diimpor ke Excel? Saya yakin solusinya akan berbeda-beda. Dan bagaimana bentuknya, saat ini saya tidak dapat memastikannya. Saran saya, pelajari dahulu pola teksnya, coba temukan apakah ada pola-pola tertentu yang dapat diproses menggunakan formulasi atau VBA Code.

    Demikian konsep yang saya punya. Atau mungin mbak @Novi sudah menemukan solusi sendiri... :D

  3. maaf mas baru sempet buka
    baik mas MID(F1;9;LEN(MID(F1;9;100))-4)*1 ini sudah bisa di aplikasikan
    saya tahu arti dari rumus itu cuma gak paham aja but thanks

    apakah rumus ini bisa di aplikasikan dengan ITEM, USER, ID karakternya tetap 3digit dan untuk berat dinamis bisa 5digit atau 4 digit misal
    25.50 -> 5digit
    5.50 -> 4 digit

    akan saya coba dulu :D

  4. bisa mas tapi digit terakhir berubah 10.58 jadi 10.50, dst

  5. yang dimaksud rumus di bagian berat ya?
    coba diganti pada J5 =MID(H5;9;LEN(MID(H5;9;100))-LEN(F5))*1

  6. @Shintaro =MID(H5;9;LEN(MID(H5;9;100))-LEN(F5))*1

    betul mas itu solusinya, saya coba pahami rumusnya deh makasih

  7. Caton

    24 Okt 2017 Terverifikasi Indonesia + 10.419 Poin

    @NOVI apakah rumus MID(F1;9;LEN(MID(F1;9;100))-4)*1 ini bisa di aplikasikan dengan ITEM, USER, ID karakternya tetap 3 digit dan untuk berat dinamis bisa 5 digit atau 4 digit...

    Saya bantu jelaskan sedikit ya. Jika pola teks sumbernya diketahui, formulasinya bisa jadi lebih mudah. Jika pola teks sumbernya adalah 3 + 3 + n + 3 karakter, maka nilai BERAT dimulai dari karakter ke 7 (3 karakter ITEM + 3 karakter USER + 1 karakter pertama nilai BERAT). Dengan demikian, jika teks sumbernya ada pada sel A1, formula awalnya adalah:

    A1 = 112216110.58116
    B1 = MID(A1;7;100)
    B1 = MID(112216110.58116;7;100)
    B1 = 110.58116

    Dari hasil formulasi tersebut, sudah terlihat nilai BERAT yang diinginkan. Oleh karena panjang karakter nilai BERAT sifatnya variatif, namun panjang karakter ID tetap 3 karakter (dan letaknya ada pada bagian terakhir dari teks sumber), maka formulasi berikut yang harus ditambahkan adalah formula untuk membuang 3 karakter ID pada bagian akhir tersebut. Sehingga perlu dihitung kembali panjang karakter yang dihasilkan dari formulasi di atas untuk kemudian dikurangi dengan 3 karakter ID:

    A1 = 112216110.58116
    B1 = MID(A1;7;LEN(MID(A1;7;100))-3)
    B1 = MID(112216110.58116;7;LEN(112216110.58116)-3)
    B1 = MID(112216110.58116;7;9-3)
    B1 = MID(112216110.58116;7;6)
    B1 = 110.58

    Hasil dari formulasi tersebut kemudian dapat dikonversikan menjadi numerik dengan fungsi VALUE atau dengan dikalikan dengan nilai 1. Catatan, formula yang saya buat di atas hanya akan merujuk ke satu sel saja, tidak ada acuan dari sel lainnya karena asumsinya nilai acuan yang diketahui hanyalah teks sumbernya saja.

    Demikian sedikit penjelasannya. Semoga bermanfaat ... ;)

 

atau Mendaftar untuk ikut berdiskusi!