Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  61 62 63 64 65 66 67 68 69   další » ... 289

Maticový vzorec (Ctrl+Shift+Enter):
=LARGE(IF(SUBTOTAL(103;OFFSET(B4;ROW(B5:B23)-4;));B5:B23);2)
=LARGE(KDYŽ(SUBTOTAL(103;POSUN(B4;ŘÁDEK(B5:B23)-4;));B5:B23);2)

prípadne obaliť do IFERROR pre prípad, že tam ani tie 2 nebudú...

Ten pomocný list je tam ešte z môjho príkladu na čisto vzorcové riešenie z 3.10.2021 15:28.
Zase sa to tu mieša krížom krážom, lebo ja som odpovedal pre pavol14pavol 1

Ak chce tento súbor použiť simona1 na makro, tak samozrejme nepotrebuje žiadny zjednocovací pomocný list.

Jablká a hrušky, ach jaj ... 7

V tomto prípade je fuk, na ktorom stojíte liste, a aká oblasť je označená. Zistí si to samé podľa stĺpca A pokiaľ je vyplnené, a pre každý riadok určí koniec. Hodnoty zapíše naraz - rýchlejšie.
Sub vloztextdoprvejprazdnejbunky2()
Dim Bunka As Range, RNG As Range
For Each Bunka In Range(Hárok5.Cells(Rows.Count, "A").End(xlUp), Hárok5.Range("A1")).Cells
If Bunka <> "" Then
Set Bunka = Bunka.EntireRow.Cells(Columns.Count).End(xlToLeft).Offset(, 1)
If RNG Is Nothing Then Set RNG = Bunka Else Set RNG = Union(RNG, Bunka)
End If
Next Bunka
If Not RNG Is Nothing Then RNG.Value = "tvoj text"
End Sub

Nerozumiem čo potrebujete.

Ak chcete kontrolovať, či sa zmení hodnota v bunke C2 po výbere z rozbaľovacieho zoznamu voči tej hodnote, ktorá tam bola pred výberom z rozbaľovacieho zoznamu, tak musíte mať predchádzajúcu hodnotu niekde uloženú (globálna premenná, iná bunka, vo vlastnostiach súboru), a porovnať novú so starou. Až potom prípadne vykonať makro.

Ak potrebujete zistiť, či sa zmenili samotné hodnoty rozbaľovacieho zoznamu (teda A2:A7), tak to urobíte rovnako ako predchádzajúce, len budete mať odložené staré hodnoty A2:A7. Ale tu to bude fungovať len v prípade, že sú zadávané manuálne. Ak budú počítané vzorcom, to je problém. Potom jedine robiť kontrolu v metóde Worksheet_Calculate.

A čo ak tam bude figura 3x alebo viac? Ako porovnám dátumy? 1-2, 1-3, 2-3, max-min?

PowerQuery je súčasťou Office 2016/2019/2021/365. Do Office 2010/2013 sa dá doinštalovať oficiálnym doplnkom od MS.

Vzorcami je to zložitejšie. Treba urobiť jedinečné hodnoty, ale vzhľadom aj na to, že môže byť iná jednotka pri rovnakom mene (t/kg, l/ml/kg, kg/bal, ...). Takže som použil zjednocovací skrytý hárok, a odtiaľ sa všetko vzorcami ťahá do výslednej tbl. No tá musí byť nadimenzovaná na maximum možných riadkov + 2. A o zvyšok sa starajú čachre-machre s Podmieneným formátovaním.

No a čo PowerQuery?

V zošite je 10362 definovaných názvov. To ako fakt???
Zošit bez opravy názvov (asi tá čínština) nejde otvoriť.
Stĺpce C a E ("2020 ACT" a "2021 ACT") nie sú súčty, ako píšete, ale indexy. Použite HLOOKUP. Prečo začína oblasť od M, keď mesiace sú od N? Oblasť "2021 YTD Bgt" odkazuje na "2021 Bgt" teda bez YTD ale hlavne iba po september (AI - má to byť AL). Oblasť "2020 ACT" odkazuje na oblasť "2020 YTD". Na čo je to obielené číslo v M?

Keďže predpokladám, že budete dopĺňať roky (stĺpce), tak by som urobil definované oblasti pre zjednodušenie vzorcov s INDEX/MATCH/OFFSET/HLOOKUP ktoré by si samé našli rok aj s prívlastkom, a z danej oblasti našli rozsah mesiacov. Ale to by museli byť tie označenia skupín stĺpcov - roky s prívlastkom jednotné. Viď napr. "2021 YTD Bgt" vs "2021 Bgt", či neexistencia napr "2020 ACT".

Navrhujem aby ste doplnil do tejto tabuľky ešte jeden riadok dát, korektne nazval skupiny, a MANUÁLNE zapísal Vami požadovaný výsledok do buniek, a tieto bunky očervenel.
A pridajte trošku podrobnejší popis, páč MATCH nerobí súčet... a divná je aj tá konštrukcia s pomocou ...MATCH(A7;$M$7:$M$7;0)... ak to má slúžiť na porovnanie stačí "="

EDIT: Nejaký ten príklad...

Čo ak bude Last alebo First 3 a viac ciferné?
Čo ak niečo z toho nebude vôbec číslo?
Čo ak užívateľ zruší InputBox bez zadania?
Čo ak nebude po koniec hárku dosť buniek?

zišlo by sa pár ošetrení...

Ak bude scan do F1
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Pos
If Not Intersect(Range("F1"), Target) Is Nothing Then
On Error Resume Next
Pos = WorksheetFunction.Match(Range("F1"), Range(Range("B1"), Cells(Rows.Count, "B").End(xlUp)), 0)
If Err.Number = 0 Then Range("A1:B1").Offset(Pos - 1, 0).Interior.Color = vbGreen
On Error GoTo 0
End If
End Sub

V prvých 2 vzorcových príkladoch musíte mať vzorce dostatočne na výšku natiahnuté. KT si to určí sama. No a pridal som ešte možnosť prevodu tabuľky na Tabuľku, kde sa vzorce dopĺňajú samé.

Napr. pomocný stĺpec s maticovým vzorcom (Ctrl+Shift+Enter), prípadne ho skryť, alebo umiestniť na iný list (skrytý?).
Alebo urobiť 2 pomocné stĺpce bez matice, kde bude v jednom iba podmienka a číslo riadku, a v druhom podľa SMALL z prvého pomocného do INDEX dávať číslo prvku. Alebo si urobte KT, ktorú si aktualizujete a obdobne ako je v Overení dát si vypočítate počet prvkov. Ak to teda potrebujete aktualizovať menej často ako každé prepočítanie vzorca. Potom vyššie uvedené príklady...

Ak má CSV stĺpce oddelené bodkočiarkami/středníkmi/";" tak žiadny iný text v CSV NESMIE obsahovať tieto oddeľovače. Odkiaľ by potom import vedel, ktorý ";" je oddeľovač a ktorý text??? Na tie dvojriadky ešte pozriem neskôr...

Sub Kopiruj()
Dim rngCiel As Range, rngZdroj As Range, rngOldSelection As Range

Set rngOldSelection = Selection
Set rngZdroj = Intersect(rngOldSelection, Range("A:A,C:F"))
Set rngCiel = Workbooks("Cieľový zošit.xlsx").Worksheets("Cieľ").Range("B3")

If Not rngZdroj Is Nothing Then rngZdroj.Copy rngCiel
Application.CutCopyMode = False
rngOldSelection.Select
End Sub

Pr.


Strana:  1 ... « předchozí  61 62 63 64 65 66 67 68 69   další » ... 289

Uživatelské menu

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

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

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

Aktivní diskuse

Týden v roce

Petr92 • 16.7. 15:34

Řazení podle času v kategoriích

veny • 16.7. 11:34

špatný výpočet ze zisku - příčina?

Anonym • 12.7. 22:56

špatný výpočet ze zisku - příčina?

Jakoby • 12.7. 12:35

Řazení podle času v kategoriích

Marekh • 12.7. 9:55

Porovnávací Tabulka

Jess • 8.7. 20:49

Vzorec pro zkopírování obsahu buňky.

veny • 6.7. 8:28