< návrat zpět

MS Excel


Téma: Vypsání hodnot rss

Zaslal/a 3.5.2014 13:10

Zdravím, mám tu takový menší zádrhel, tak jsem se rozhodl napsat sem.

Řekněme, že mám ve sloupci A vypsány nějaké fráze (celkem třeba 100) ve sloupci B jsou k některým frázím napsané jedničky (1), nebo prázdná buňka. Potřeboval bych nějaký vzorec, který by vypsal pod sebe všechny fráze u kterých je jednička do sloupce C.

Dá se to pochopit co jsem myslel ? :)

Díky všem za reakce.

Zaslat odpověď >

Strana:  « předchozí  1 2 3
#019412
avatar
Tak tedy varianta: V D jsou jedničky vypisuji sloupec A. Řádky data jsou od řádku 8. První řádek výpisu je E5

=KDYŽ(ŘÁDEK() - ŘÁDEK($D$5) + 1 > COUNTIF($D$8:$D$100;1);"";
INDEX($A$8:$A$100;SMALL(KDYŽ($D$8:$D$100=1;ŘÁDEK($D$8:$D$100)-ŘÁDEK($D$8)+1;1000000);ŘÁDEK()-ŘÁDEK($D$5)+1)))


Ostatní sloupce jsou podobné.

@Karelo - Co jsi udělal špatně? - pokoušíš se chaoticky něco ve vzorcích měnit.citovat
#019414
avatar
Myslím, že je problém v tom, že ta oblast, kam chci vypisovat ty data (oblast buněk ve kterých je vložen ten vzorec) není na stejné úrovni (stejném řádku) jako ty ostatní data.

jedničky mám v oblasti F3:F3568
sloupec, který chci vypisovat je v oblasti B3:B3568
a oblast, kde budou vypisovány data (buňky se vzorcem) je F3586 a dolů

=KDYŽ(ŘÁDEK() - ŘÁDEK($D$5) + 1

Tohle je teda ten řádek výpisu? V mém případě tedy F3586 ? Děkuji za info.citovat
#019416
avatar
Vykašli se radši na vzorečky. Zkus něco takového:

Sub Makro()
Dim Jedničky() As Variant
Dim Texty() As Variant
Dim Seznam() As Variant

Dim PocetJednicek As Long
Dim i As Long, j As Long

With ActiveSheet
Texty = .Range("B3:B3568").Value
Jedničky = .Range("F3:F3568").Value2

PocetJednicek = WorksheetFunction.CountIf(ActiveSheet.Range("F3:F3568"), "1")
If PocetJednicek = 0 Then GoTo Konec

ReDim Seznam(1 To PocetJednicek, 1 To 1)

j = 0
For i = LBound(Jedničky) To UBound(Jedničky)
If Jedničky(i, 1) = 1 Then
j = j + 1
Seznam(j, 1) = Texty(i, 1)
If j = PocetJednicek Then Exit For
End If
Next

.Range("F3586").Resize(PocetJednicek, 1).Value = Seznam
End With
Konec:
End Sub
citovat
#019417
avatar
Tady je varianta maticoveho vzorce co upravuješ, vlož do tvé buňky F3586.
=KDYŽ(ŘÁDEK()-3585>COUNTIF($F$3:$F$3568;1);"";INDEX($B$3:$B$3568;SMALL(KDYŽ($F$3:$F$3568=1;ŘÁDEK($F$3:$F$3568)-2;1000000);ŘÁDEK()-3585)))citovat
#019422
avatar
To makro funguje dobře :) akorát když udělám změnu (např. přidám nebo odeberu jedničku) tak se ta změna neprojeví v tom výpisu. Taky když budu chtít použít vzorec na další buňky (výpisové hodnoty stejné, akorát sloupce s jedničkama jdou od F až po YT), tak asi budu muset ručně kopírovat ten sub vzorec a přepisovat ty hodnoty co?

@cmuch: zkoušel jsem to tam dát(maticově) a nějak to nejede. Píše to "neplatný odkaz na buňku" ... přitom ta data jsou vybrána správně, tak nevím 6citovat
#019426
avatar
Tady koukni do přílohy, mě to jde.
Příloha: zip19426_vypishodnotmaticove.zip (53kB, staženo 25x)
citovat
#019429
avatar
Tak jsem to vyřešil, dělal tam problém asi to, že jsem ty jedničky vypisoval taky vzorcem (odlišným). Upravil jsem $F$3:$F$3568=1 na $F$3:$F$3568="1" a funguje to.

Díky všem za pomoc! 1 10citovat

Strana:  « předchozí  1 2 3

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