Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  40 41 42 43 44 45 46 47 48   další » ... 122

@vovka
keď už som to vymyslel, tak posielam tiež:
pre počet jedničiek v rade = 1:
=SUM(--(1=FREQUENCY(IF($A$3:$A$55=1;ROW($A$3:$A$55)); IF($A$3:$A$55<>1; ROW($A$3:$A$55)))))pre počet jedničiek v rade = 2:=SUM(--(2=FREQUENCY(IF($A$3:$A$55=1;ROW($A$3:$A$55)); IF($A$3:$A$55<>1; ROW($A$3:$A$55)))))atd., 1,2 sa dá nahradiť nejakou vhodnou funkciou, napr. row., prípadne odkazom do bunky, ale to je, domnievam sa, jasné, ako i fakt, že vzorec je pochopiteľne maticový

Pokiaľ na 2. liste v nejakom stĺpci existujú hodnoty ID ORDER, tak by sa mali dať použiť vyhľadávacie funkcie, napr. INDEX, MATCH, VLOOKUP a pod. Snáď je to dosť zrozumiteľné, takže sa nemusím obťažovať s posielaním nejakých obrázkov :)

Problém ma zaujal natoľko, že som sa snažil o riešenie bez nutnosti triedenia. V takom prípade som ale nedokázal obísť nutnosť použitia pomocného stĺpca. Takže ešte jedna verzia riešenia v prílohe.

Tak nakoniec sa mi predsa len podarilo vytvoriť obskurný vzorec, ktorý by mal spĺňať všetky podmienky zadania:=IF(OR(SUM(COUNTIF(A2; $A$2:$A$6&"*"))>1; COUNTIF($A$2:$A$6;A2& "*")-1); INDEX($A$1:$A$6; SMALL(IF(COUNTIF(A2; $A$2:$A$6& "*"); ROW($A$2:$A$6); ""); 1))), maticovo, bohužiaľ, pri bližšom testovaní som zistil, že to bude funkčné len za predpokladu, že adresy budú zotriedené

@vovka
síce som to pochopil, ale zatiaľ som neprišiel na to, ako výpis opakovať na konkrétnych riadkoch. Moje funkcie dávajú každú adresu iba raz, nevypíšu "zhodu" k jednotlivým výskytom, takže sa môžete snažiť ďalej 1

Asi špatne vidím, ale mal som za to, že v zadaní sa jednalo vždy o oblasť A1:A10...

Adresa 66 = Adresa 66 AXC
Prazska 111 B 2tr <> Prazska 111 B 2. Tr

??

no, to skutočne dáva zmysel 1

Skús funkciu FIND, eventuálne SEARCH.

napr. takto:=IF(SUM(IFERROR(SEARCH(A2; A3:$A$7);0)); A2), maticovo, vypíše prvý výskyt, nie je to úplne podľa zadania, ale možno to bude cesta..

alternatívne: =IF(COUNTIF($A$2:$A$6;A2& "*")-1; A2)

Aha, takže tá "země" má byť vždy uvedená v nejakom inom stĺpci, t.j. neplatí, jeden kontakt=jedna země. V tom prípade skús toto, základ je funkčný, prípadnú optimalizáciu a ošetrenie chýb už nechám na tebe. Nabudúce vlož prílohu rovno, aby sa nemuselo tápať, čo vlastne potrebuješ, pôvodné zadanie som chápal trochu inak.Sub GenerujListy()
Dim srcSh As Worksheet, sh As Worksheet, srcRng As Range, cell As Range, tgtSh As Worksheet, tgtRng As Range
Set srcSh = Sheets("Kontakty")
For Each sh In Worksheets
Application.DisplayAlerts = False
If sh.Name <> srcSh.Name Then sh.Delete
Application.DisplayAlerts = True
Next sh
Set srcRng = [L1]
Set srcRng = Range(srcRng, srcRng.End(xlToRight))
For Each cell In srcRng
srcSh.Copy after:=Sheets(Sheets.Count)
Set tgtSh = ActiveSheet
With tgtSh
.Name = cell
Set tgtRng = .[A1].CurrentRegion
Set tgtRng = tgtRng.Offset(1, 0).Resize(tgtRng.Rows.Count, 1)
.[A1].AutoFilter FIELD:=cell.Column, Criteria1:="="
tgtRng.EntireRow.Delete
.[A1].AutoFilter
Set tgtRng = .[K1]
Set tgtRng = Range(tgtRng, tgtRng.End(xlToRight))
tgtRng.EntireColumn.Delete
Rows("1:1").Insert
.[A1] = "Kontakty"
Set tgtRng = .[A1:J1]
With tgtRng
.Font.Size = 14
.Font.Bold = True
.Interior.Color = 49407
End With
End With
Next cell
End Sub

napr. takto: http://www.xl-central.com/count-single-criteria-multiple-sheets.html

@lubo
asi skôr =KDYŽ(SVYHLEDAT(AA2+1;$A$2:$A$3104;1)=AA2+1;SVYHLEDAT(AA2+1;$A$2:$A$3104;1);"")
páč AA3 by hodilo cyklický odkaz

inak, chválim za jednoduché riešenie, ktoré sa dá ešte malinko upraviť na:
=KDYŽ(SVYHLEDAT(AA2+1;$A$2:$A$3104;1)=AA2+1;AA2+1;"")
alebo inak:
=KDYŽ(COUNTIF($A$2:$A$3104;AA2+1); AA2+1; "")
prípadne
=IF(ROW()-ROW($AA$2)<=MAX($A$2:$A$3104)-MIN($A$2:$A$3104); AA2+1; "")
samozrejme, vypíše rozsah všetkých dátumov od-do, vrátane tých, ktoré nie sú medzi vstupnými...

@opičák
ten nepriamy odkaz spolu s testom <>"" mi príde zbytočný, dá sa to pmn napísať jednoduchšie s rovnakým výsledkom:=IFERROR(INDEX($A$2:$A$15339;MATCH(0;COUNTIF($U$1:$U1;$A$2:$A$15339);0));"") chápem, že nepriamym odkazom sa snažíš o zmenšenie prehľadávanej oblasti, ale za zmenšenú oblasť platíš volatilnou funkciou. Stačí previesť na excel table, ako radil lubo, potom bude oblasť primerane veľká:=IFERROR(INDEX(Table[Datum];MATCH(0;COUNTIF($U$1:$U2;Table[Datum]);0));""). Okrem toho, ten lubov nápad s pivotkou je pmn určite lepší, než tvorba maticových vzorcov, ten prepočet bude nechutne pomalý.

@Petr-Kabele: pre ten doplnený problém stačí krátke štúdium funkcií SUMIF, SUMIFS, COUNTIF, COUNTIFS, prípadne SUMPRODUCT a SUBTOTAL. Každopádne, kontingenčka je vhodnejšia, presne ako píše lubo (prípadne v spojení s Excel Table)

Možnosti riešenia nájdeš tuná:http://www.rondebruin.nl/win/s3/win006.htm. Tento kód robí presne to, čo požaduješ: http://www.rondebruin.nl/win/s3/win006_4.htm

on nie je rovnaký, ja som stĺpec B vytiahol až za tú IFERROR.. o.k., dá sa i takto:=SUM(IFERROR(($C$3:$G$12/$H$3:$H$12*$B$3:$B$12);0)*($C$2:$G$2=$B16)) a potom tie texty nevadia, i tak si ale myslím, že za miešanie textových hodnôt medzi číselné by si niekto zaslúžil..

Super, v prvom rade, než by si sa zaregistroval a vložil prílohu sem, tak čakáš, že si niekto bude sťahovať súbory z edisk, uložto apod.
Ďalej, úlohu som už vyriešil hneď v mojom prvom príspevku, ale ty si zrejme príliš pohodlný trochu nad tým popremýšľať.
Takže skúsim ešte raz a tým už končím:
Nájdeš rozdiel medzi:=IF([zdrojovy.xlsx]List1!$A$2=0;" ";[zdrojovy.xlsx]List1!$A$2)a=IF([zdrojovy.xlsx]List1!A2=0;" ";[zdrojovy.xlsx]List1!A2)???

@kp57
pokiaľ by kolega neplietol do stĺpca B medzi čísla texty, tak by sa ten vzorec dal napísať i takto:=SUM(IFERROR(($C$3:$G$12/$H$3:$H$12);0)*($B$3:$B$12)*($C$2:$G$2=$B16)),ale prečo robiť veci jednoducho, keď to ide zložito. Mne nebolo jasné, prečo mi vzorec nepočíta, až po vzhliadnutí Tvojej verzie som postrehol, že v stĺpci B sú nie vždy čísla. Zdržím sa radšej sprostých poznámok na adresu OP 6


Strana:  1 ... « předchozí  40 41 42 43 44 45 46 47 48   další » ... 122

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje