< návrat zpět

MS Excel


Téma: Countif text rss

Zaslal/a 4.12.2017 16:09

Ahoj, řeším následující problém.

V Buňce A1 je vzorec, který má spočítat řádky sloupce B které obsahují pouze text. Sloupec B ale kromě buněk s textem obsahuje také buňky s čísly a hlavně buňky vyplněné vzorcem jako "".

Dřív, když jsem ručně kopíroval data do tohoto sloupce z webu, tak fungoval jednoduchý vzorec =COUNTIF(B:B;"*")

Jenže nyní, když je sloupec B vyplňovaný vzorcem, tak argument "*" ve výše uvedeném vzorci vrací celkový počet řádků.

Zde je vzorec, který je roztažený na všechny řádky sloupce B:

=KDYŽ(Import!B1="";"";KDYŽ(JE.TEXT(Import!B1);Import!B1;HODNOTA(Import!B1)))

Jak je vidět, v bunkách může být text, číslo nebo "".

Poznámka: v listu Import se mi pomocí automatic query importují data z webu.

Můžete někdo poradit? Díky.

Zaslat odpověď >

Strana:  « předchozí  1 2
icon #038636
avatar
Do bunky P51 na liste Overview vzorec, dalsie podmienky si v nom uz doplnis:=SUMPRODUCT(
('Report Data'!AA:AA<>"")
*NOT(ISNUMBER('Report Data'!AA:AA))
*(B28='Report Data'!B:B)
*(E28='Report Data'!A:A)
*IF($U$7="*";1;$U$7='Report Data'!E:E)
*IF($V$7="*";1;$V$7='Report Data'!J:J)
*IF($W$7="*";1;$W$7='Report Data'!I:I))

Nakolko obsahuje podmienky If, musis ho vlozit maticovo. Skopirujes dolu.
Ide to. Ako na to, som ukazal, dalej sa uz snaz trochu sam.citovat
#038640
avatar
Funguje to, díky. Seš borec! 1citovat
icon #038642
avatar
tak slava, snad si logiku pochopilcitovat
#038644
avatar
Logiku jo, ale nepochopil jsem trochu syntaxi... doteď jsem všude viděl nejdřív pole a potom "argument".

Např. první část ve tvojem skalárním součinu:

('Report Data'!AA:AA<>"")

a pak se najednou podmínky píšou obráceně viz:

(B28='Report Data'!B:B)

Jestli máš ještě energii vysvětlovat, tak bych byl rád. Jinak se smířím s tím, že to prostě mám přijmout :)citovat
icon #038645
avatar
Je úplne jedno, či napíšeš v skalárnom súčineB28='Report Data'!B:B alebo'Report Data'!B:B=B28 oboje totiž porovnáva hodnotu z bunky B28 voči hodnotám v stĺpci B na liste Report Data. A oba z výrazov vracajú pre jednotlivé riadky hodnotu PRAVDA/NEPRAVDA. Výsledok PRAVDA*PRAVDA je potom rovný 1, výsledky PRAVDA*NEPRAVDA, NEPRAVDA*PRAVDA a NEPRAVDA*NEPRAVDA sú vždy 0. Skalárny súčet nakoniec sčíta jedničky a nuly z jednotlivých riadkov, takže dá súčet jedničiek.

Každý z činiteľov v nasledovnom výraze'Report Data'!AA:AA<>"")

*NOT(ISNUMBER('Report Data'!AA:AA))

*(B28='Report Data'!B:B)

*(E28='Report Data'!A:A)

*IF($U$7="*";1;$U$7='Report Data'!E:E)

*IF($V$7="*";1;$V$7='Report Data'!J:J)

*IF($W$7="*";1;$W$7='Report Data'!I:I)
nadobúda hodnotu buď PRAVDA alebo NEPRAVDA. Ich prenásobením navzájom potom 1 alebo 0. A na konci potom prebehne sčítanie jedničiek a núl (súčet núl je pochopiteľne nula, takže vlastne sčítanie jedničiek).citovat
#038652
avatar
Díky za vysvětlení .)citovat

Strana:  « předchozí  1 2

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