Hitung berapa kali string panjang N muncul dalam sel

2

Saya memiliki sel yang berisi nomor pesanan, dipisahkan dengan koma. (yaitu 1689519145, 2944241, 1689611938).

Saya mencoba mendapatkan rumus untuk menghitung berapa kali nomor pesanan 7 digit muncul di sel, jika ada.

Penelitian saya mengarahkan saya ke rumus ini, yang menghitung berapa kali kadang-kadang muncul di antara pembatas, tetapi saya tidak tahu bagaimana cara mengurai HANYA 7 nomor pesanan: =LEN(P9)-LEN(SUBSTITUTE(P9,",",""))+1

Bardworx
sumber
Berapa kali Nomor Pesanan 7 digit spesifik muncul di dalam sel, atau total untuk semua Nomor Pesanan 7 digit yang muncul di dalam sel?
XOR LX

Jawaban:

1

Jika Anda menghitung semua angka tujuh digit Anda dapat menggunakan sesuatu seperti ini

{=SUM(IF((1*TRIM(MID(SUBSTITUTE(A1,",",REPT(" ",99)),(ROW(OFFSET($A$1,,,LEN(A1)-LEN(SUBSTITUTE(A1,",",""))+1))-1)*99+((ROW(OFFSET($A$1,,,LEN(A1)-LEN(SUBSTITUTE(A1,",",""))+1)))=1),99)))>999999,IF((1*TRIM(MID(SUBSTITUTE(A1,",",REPT(" ",99)),(ROW(OFFSET($A$1,,,LEN(A1)-LEN(SUBSTITUTE(A1,",",""))+1))-1)*99+((ROW(OFFSET($A$1,,,LEN(A1)-LEN(SUBSTITUTE(A1,",",""))+1)))=1),99)))<10000000,1)))}

yang menghitung semua angka antara 999.999 dan 10.000.000.

Atau jika Anda ingin menghitung berapa kali angka tertentu muncul, Anda bisa menyesuaikan rumus dengan sesuatu seperti ini

=SUM(IF((1*TRIM(MID(SUBSTITUTE(A3,",",REPT(" ",99)),(ROW(OFFSET($A$1,,,LEN(A3)-LEN(SUBSTITUTE(A3,",",""))+1))-1)*99+((ROW(OFFSET($A$1,,,LEN(A3)-LEN(SUBSTITUTE(A3,",",""))+1)))=1),99)))=2944241,1))

di mana Anda juga dapat mengganti angka 7 digit tertentu sebagai (2944241 dalam kasus ini) dengan referensi.

Kunci untuk membuat rumus berfungsi:

  1. Pastikan instance ROW(OFFSET($A$1tetap ROW(OFFSET($A$1atau setidaknya di baris pertama
  2. Masukkan rumus sebagai array (seluruh ctl + shift + enter)

Cara kerja rumus:

  1. SUBSTITUTE(A1,",",REPT(" ",99) melewati dan membagi setiap angka dengan 99 spasi
  2. LEN(A3)-LEN(SUBSTITUTE(A3,",","")) menghitung berapa banyak item yang ada
  3. ROW(OFFSET($A$1,, menciptakan sebuah array dengan banyak item
  4. array pertama dikalikan dengan 99
  5. satu ditambahkan ke elemen pertama dari array
  6. MID kemudian memotong array sebanyak elemen, memotong elemen yang berbeda setiap kali
  7. TRIM menghapus ruang ekstra
  8. array dikalikan dengan satu untuk mengubahnya dari string ke angka
  9. yang SUMpenting berapa banyak dari array sesuai dengan kriteriaIF

Penghargaan untuk Ron Rosenfeld untuk sebagian besar pekerjaan berat

Christopher
sumber
0

Jika Anda ingin melakukan ini menggunakan Len () / Pengganti (), maka

=(LEN(A2)+2-LEN(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(" "&A2&",","0","|"),"1","|"),"2","|"),"3","|"),"4","|"),"5","|"),"6","|"),"7","|"),"8","|"),"9","|")," |||||||,","")))/LEN(" |||||||,")

Alih-alih | Anda dapat menempatkan simbol lain yang tidak ada dalam string.

Alex Frolov
sumber
0

Tampak bagi saya seolah-olah Anda menginginkan jumlah kali yang tepat, angka tujuh digit tertentu muncul di sel target daripada berapa banyak angka dengan panjang dan digit berapa pun yang muncul di dalam sel. (Itu juga dapat dianggap sebagai berapa banyak "elemen" di dalam sel target, seperti yang akan dikatakan dalam "elemen array.")

Dan dari rumus yang dihasilkan oleh penelitian Anda, saya yakin Anda melihat jawaban untuk keduanya dan tidak menyadari perbedaannya sehingga rumus yang tepat juga harus berbeda dan kemudian menggunakan yang salah untuk kebutuhan Anda di sini.

Pertama, ada berapa elemen? Masing-masing dipisahkan oleh koma, jadi ada banyak koma tetapi ada PLUS satu (karena elemen terakhir tidak memiliki koma mengikutinya sehingga Anda harus menambahkan satu lagi). Jadi jika Anda MENGGANTI () "tidak ada sama sekali" ("" di dunia Excel) untuk setiap koma, panjang string target akan lebih pendek dengan berapa banyak koma yang ada di string asli. Formula Anda melakukan itu. Tetapi Anda melakukan bagian "+1" salah di dalamnya. Mengingat pasangan yang tidak dibutuhkan () di sekitar fungsi SUBSTITUTE (), saya pikir Anda tahu untuk meletakkan "+1" di dalamnya tetapi hanya salah ketik di sini. Jika Anda membiarkannya di luar, Anda harus mengurangi ("-1"). Kurangi panjang yang lebih pendek DAN 1 dari panjang aslinya dan Anda memiliki berapa banyak elemen.

Tapi ... jika Anda benar-benar perlu tahu berapa kali tepatnya tujuh digit string muncul, tepat itu dan tidak lebih, maka Anda perlu menggunakan konsep yang sama tetapi sedikit berbeda. Mulailah dengan menggunakan SUBSTITUTE () untuk menukar "tidak ada" dengan string yang ingin Anda hitung. Kurangi itu dari panjang aslinya. Akhirnya, bagi perbedaan itu dengan panjang string yang ingin Anda ketahui: tujuh digit di sini, mungkin beberapa panjang lainnya beberapa lainnya menggunakan waktu dan tempat lain. Begitu:

= ( LEN(P9) - SUBSTITUTE(P9,"1234567","") ) / 7

Tentu saja, jika Anda memiliki string di beberapa sel lain, Anda dapat memasukkannya ke dalam rumus alih-alih "1234567" saya dan menjadikan formula Anda lebih berguna!

Jika Anda ingin tahu berapa banyak PERSETUJUAN panjang tujuh digit, tidak lebih, tidak kurang panjang, angka dalam P9, Anda dapat menggunakan fungsi array untuk melihat setiap elemen untuk panjang dan menghitung mereka yang hanya tujuh digit. Agak rumit dan jika Anda perlu menambahkan mencari huruf dan mengabaikan elemen-elemen itu, itu lebih dari itu. Dan ... yah Anda mendapatkan idenya.

Roy
sumber
0

Ikuti langkah-langkah ini untuk menghitung berapa kali nomor pesanan 7 digit muncul di sel.

Saya berasumsi bahwa Anda memiliki data dalam Rentang A2:A4.

  1. Terapkan Teks ke kolom Perintah pada Rentang Data untuk membagi Angka.

masukkan deskripsi gambar di sini

  1. Tulis rumus ini di Sel D2& isi.

       =SUMPRODUCT(--(LEN(TRIM(A2:C2))=7))
    

Sesuaikan referensi sel dalam Formula sesuai kebutuhan.

Rajesh S
sumber