» Poradna » Programy

Excel - sloučení hodnot pouze označených sloupců

 |   |  Microsoft Windows 10 Firefox 55.0

Dobrého dne přeji,můžeme mi prosím někdo poradit s následujícím problémem:od sloupce D mám několit desítek sloupců s různými texty; pak mám několik stovek řádků, kde mám ve sloupcích buď prázdnou buňku, nebo písmenko x.Potřebuji, aby v každém posledním sloupci v řádku byly sloučeny textové hodnoty pouze těch sloupců z první řádky, pod kterými je v příslušném řádku ono písmenko x.Děkuji předem všem za radu!!

Mohlo by vás také zajímat

Odpovědi na otázku

 |   |  Microsoft Windows 8.1 Chrome 60.0.3112.101

Nevím co je myšleno "sloučením" textových hodnot, ale předpokládám, že jde o vypsání všech za sebou ... pak by fungoval vzorec typu:=CONCATENATE(KDYŽ(D2="x";$D$1;"");KDYŽ(E2="x";$E$1;"");KDYŽ(F2="x";$F$1;"");KDYŽ(G2="x";$G$1;"");KDYŽ(H2="x";$H$1;"")..a tak dále až do posledního použitého sloupce..)Ale při "několika desítkách sloupců" může být problém s celkovou délkou výrazu...

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 8.1 Chrome 60.0.3112.101

nezalomil se mi text ... tak jinak - ten vzorec má vypadat asi takto: =CONCATENATE(KDYŽ(D2="x";$D$1;"");KDYŽ(E2="x";$E$1;"");KDYŽ(F2="x";$F$1;""); KDYŽ(G2="x";$G$1;"");KDYŽ(H2="x";$H$1;"")..a tak dále až do posledního použitého sloupce..)

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Android Chrome 55.0

To mě také napadlo, ale těch sloupců je skutečně hodně. Postupně mohou přibývat a bude jich řádově více jak sto. To pak takto nepůjde, bohužel.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 7 Firefox 54.0

Pokud to budeš chtít řešit vzorcem, možná narazíš na maximální délku vzorce. V každém případě si ale můžeš napsal a poštvat na to makro - to je každopádně průchodné řešení.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 7 Firefox 54.0

Chápu to tak, že první řádek je "hlavička", další řádky jsou pak vykřížkované sloupce a Vy chcete za poslední sloupec vypsat vykřížkované "hlavičky" pro každý řádek? Makro se dvěma vnořenýma smyčkama se jeví jako ideál. Co je zdrojem dat? XLS nebo CSV? A co má být nakonec cílem?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Android Chrome 55.0

Chápete to naprosto přesně. Zdrojem je list sešitu, kde potřebuji sloučit do jedné buňky vykřížkované hlavičky. A oddělit je třeba čárkou. Pak to upravím a uložím jako CSV.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Firefox 55.0

Má někdo prosím nějaký nápad, jak vyřešit můj problém?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 7 Firefox 54.0

Vždyť už tady radu máš: napiš si makro.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 7 Firefox 54.0

Oprášil jsem znalosti VBA (s Googlem) a "vymyslel" tuto prasárnuSub test()lastcolumn = Range("A1").End(xlToRight).Columnlastrow = Range("A1").End(xlDown).Row + 1For x = 2 To lastrowr = "" For y = 1 To lastcolumn If UCase(Cells(x, y).Value) = "X" Then r = r + Cells(1, y).Value + "," Next y If r <> "" Then r = Left(r, Len(r) - 1) Cells(x, lastcolumn + 1).Value = rNext xEnd Sublastcolumn je počet sloupců (počítám že hlavička je v řádku 1 a kompletní, hledám první prázdnou buňku), lastrow pak počet obsazených řádků. Pak dvě vnořené smyčky, jedna přes řádky, druhá přes sloupce, kde procházím buňky a když najdu X (velké či malé proto testuji s Ucase) vezmu hodnotu z příslušné hlavičky a přidám do pomocné proměnné r. Tu pak nakonci řádku zapíšu.Makro do Excelu vložíte takto: Alt+F11 se otevře VBA editor, v něm Insert>Module tam vložíte Sub Test a spustíte buď F5 nebo zelenou šipkou.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 10 Firefox 55.0

Super, DÍKY MOC, funguje to!!!!!!

Souhlasím  |  Nesouhlasím  |  Odpovědět