Numarare elemente unice

Ce este nou in Microsoft Excel 2016?
Informatii despre cum se utilizeaza Microsoft Excel 2016
Calcule, Formule, Functii, Tabele pivot, Analiza datelor, etc
Liana
Mesaje: 46
Membru din: Mie Dec 14, 2016 6:07 pm

Numarare elemente unice

Mesaj de Liana » Vin Noi 22, 2019 7:59 pm

Buna seara,

As avea nevoie de putin ajutor. Ce formula as putea folosi ca sa numar elementele unice cu corespondenta in 2 coloane. Cam asa arata:
A.............B.............C
Tip.........Cod........Formula
AEK........ 10011............ 1
AEK........ 10011
AEK........10011
AEK........ 19913............ 2
AEK........ 19913
AEK........ 19913
AEK........ 10099............ 3
AEK........ 10099
BOX........ 300011........... 1
BOX........ 300011
BOX........ 300011
BOX........ 404............... 2
BOX........ 404
BOX........ 404
BOX........ 2999773..........3
BOX........ 2999773
BOX........ 2999773
BOX........ 3030..............4
BOX........ 3030
BOX........ 90199............ 5
BOX........ 90199

Numerele trebuie sa apara odata cu prima aparitie a unui Tip + Cod, iar numaratoarea sa se reia pentru alte Tip + Cod, unice
Formula trebuie pusa in coloana C si sa imi arate asa cum e in imagine.
Intre numerele din coloana C nu trebuie sa apara zero ("0")
Nu putem folosi coloane ajutatoare.
Am avea nevoie de formula, iar daca nu se poate crea o asemenea formula ar fi OK si un cod VBA.

Va multumesc anticipat.

IPP
Moderator
Moderator
Mesaje: 4196
Membru din: Mie Iul 29, 2009 7:26 am
Localitate: Cluj-Napoca

Re: Numarare elemente unice

Mesaj de IPP » Vin Noi 22, 2019 11:06 pm

Buna seara

Atasat gasiti spre testare o propunere folosind macro.
Premise: lista de interes nu contine randuri goale, incepe din A1 si este deja sortata dupa Tip si Cod

Am folosit urmatorul cod:

Cod: Selectaţi tot

Sub NumarareSubgrup()

'IPP - 22.11.2019

Dim myCounter As Integer
 
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

For Each c In Range("A2:A" & Range("A1").CurrentRegion.Rows.Count)

 If c <> c.Offset(-1, 0) Then myCounter = 0
  If c.Offset(0, 1) <> c.Offset(-1, 1) Then
   myCounter = myCounter + 1
   c.Offset(0, 2) = myCounter
  End If

Next c

Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = False

End Sub
Pentru testare: deschideti fisierul atasat, activati macro/continutul, selectati Sheet1 si rulati macro

IP
Nu aveţi permisiunea de a vizualiza fişierele ataşate acestui mesaj.

Liana
Mesaje: 46
Membru din: Mie Dec 14, 2016 6:07 pm

Re: Numarare elemente unice

Mesaj de Liana » Vin Noi 22, 2019 11:46 pm

IPP,

Multumesc mult .

Lista nu este sortata, asa cum am prezentat, dar asta nu e un impediment, sper.
Sper ca nu este o problema sortarea. Depinde de ce zice conducerea :oops:
Aceste date vin din alta aplicatie si nu vin sortate.

Daca nu pot fi sortate datele (nu ca nu am putea...ci ca nu s-ar dori) , puteti modifica va rog codul?
Va rog mult daca se poate sa ma ajutati si cu o formula ceva.

Multumesc pentru solutia oferita.

IPP
Moderator
Moderator
Mesaje: 4196
Membru din: Mie Iul 29, 2009 7:26 am
Localitate: Cluj-Napoca

Re: Numarare elemente unice

Mesaj de IPP » Sâm Noi 23, 2019 10:14 am

Buna ziua

Nu, propunerea macro facuta de mine e functionala exclusiv daca lista este sortata inainte de rularea macro. La o adica se poate adauga in cod si o instructiune de sortare daca acest lucru este permis si mai ales daca sortarea normala facuta de excel e si cea corecta din punctul de vedere a numerotarii finale dorite.

Eu nu va pot propune nicio solutie bazata pe formule. In nici un caz

Succes
IP

Indigo-ONE
Mesaje: 435
Membru din: Mar Dec 11, 2018 8:54 pm

Re: Numarare elemente unice

Mesaj de Indigo-ONE » Sâm Noi 23, 2019 10:41 am

Salut,

Testeaza formula urmatoare:

=IF(ISNUMBER(MATCH(A2&"^"&B2;$A$1:A1&"^"&$B$1:B1;0));"";SUM(IF(FREQUENCY(IF($A$2:A2=A2;MATCH($B$2:B2;$B$2:B2;0));ROW($B$2:B2)-ROW($B$2)+1);1)))

Obs.
Datele sa fie sortate dupa coloana A. Daca nu sunt sortate nu vor arata ca in exemplul dat de tine.
Daca datele nu sunt sortate formula este OK dar trebuie vazut unde este elementul din coloana A care corespunde numarului cel mai mare.
Vei vedea ce spun daca testezi.

Cred ca se pot imagina si alte formule.
O varianta ar fi daca undeva ai lista itemurile unice din col A iar in formula adiacenta sa ai numarul de itemuri.
Ceva de genul:
AEK......3
BOX......5
.......

PS. Daca datele nu sunt sortate si se doreste ca raspuns ceva de genul:
3 AEK
5 BOX

atunci poti folosi urmatoarea formula:
=IF(A1=A2;"";SUMPRODUCT(--($A$2:$A$22=A2);--(1/COUNTIF($B$2:$B$22;$B$2:$B$22)))&" "&A2)

Spor la treaba.


"I fear the day that technology will surpass our human interaction. The world will have a generation of idiots."
Albert Einstein

Liana
Mesaje: 46
Membru din: Mie Dec 14, 2016 6:07 pm

Re: Numarare elemente unice

Mesaj de Liana » Sâm Noi 23, 2019 2:20 pm

Extraordinar.
Multumim din suflet. Nu stiti din ce belea ne-ati scos. :lol: :lol:

Dl. IPP pentru codul VBA
Dl. Indigo pentru formulele oferite
Vom studia formulele si functie de ce doreste conducerea vom implementa. O sa revenim daca o sa mai avem nevoie de ajuror

Multumim.
Liana.

Scrie răspuns

Înapoi la “Intrebari despre Excel 2016”