Excel-jak v řádku vyhledat jakýkoliv text a hodnotu vepsat do buňky



Ahoj, prosím o radu, jakou funkci použít v excelu..Do buňky mimo tabulku potřebuji vepsat text, který se vyskytuje v určité oblasti řádku (L5:V5), kde je obsazena vždy pouze jedna buňka písmenem "A", nebo "B", nebo .....až "K" a ostatní jsou prázdné, respektive obsahují vzorec.Čili v překladu: "tady na tom řádku mi najdi buňku obsahující písmenko a napiš mi to písmenko". ![](/Client.Images/smileys/1.gif)![](/Client.Images/smileys/1.gif)![](/Client.Images/smileys/1.gif)Děkuji!
Nevrátí tohle i výsledek vzorce, pokud je před buňkou s písmenem?
Musíte skutečně vložit „falešný“ řádek pomocí `-insertRowsAtIndexPaths:withRowAnimation:`. Z UITableView úhlu pohledu, nejsou tam žádné „skutečné“ řádky nebo „falešné“ řádky. Existuje cokoliv řádky zdroj dat říká, že jsou. Takže jste měli 1 řádek, a pak jste odstranili 1 řádek, a pak UITableView vás zeptal „kolik řádků jsou tam“ a uvedl 1 a UITableView řekl: „1 -?. 1 = 1. Počkejte, co Blam“


Chcete-li vložit řádek ( „skutečný“ nebo „falešný“ všechno je stejný), je třeba říci UITableView jste to vy vkládání. Můžete zkopírovat seznam a vložit ho do jiného sešitu aplikace Excel. <p>společným webovým rozhraním pro tuto úlohu je mít položky v seznamu, s možností prohledávat a třídit seznam. v pravém (posledním) sloupci je tlačítko pro úpravy, po klepnutí se řádek upraví a přepne se na dvě nová tlačítka - „uložit“ a „zrušit“.</p><p>po aktualizaci řádku nezapomeňte uživateli poskytnout zpětnou vazbu, pokud byla operace uložení úspěšná nebo ne.</p><p><img src="https://i.stack.imgur.com/g4nz0.png" alt="enter image description here"></p> <p>registry <code>"*</code> a <code>"+</code> jsou pro schránku systému (<code>:help registers</code>). v závislosti na vašem systému mohou dělat různé věci. například v systémech, které nepoužívají x11 jako osx nebo windows, se registr <code>"*</code> používá pro čtení a zápis do systémové schránky. na systémech x11 lze použít oba registry. pro více informací viz <code>:help x11-selection</code>, ale v podstatě <code>"*</code> je analogický s x11 <em>primárním</em> výběrem (který obvykle kopíruje věci, které vyberete myší a pastami pomocí prostřední tlačítko myši) a <code>"+</code> je obdobné jako u x11 <em>clipboard</em> výběr (což je vlastní schránka).</p><p>pokud vše, co šlo přes hlavu, zkuste pomocí <code>"*yy</code> nebo <code>"+yy</code> zkopírovat řádek do schránky systému. za předpokladu, že máte vhodné možnosti kompilace, by měl fungovat jeden nebo druhý. možná budete chtít přeměnit to na něco výhodnější pro vás. například můžete v souboru ~/.vimrc zadat <code>vnoremap &lt;c-c&gt; "*y</code>, abyste mohli vizuálně vybrat a stisknout <kbd>ctrl</kbd>+<kbd>c</kbd> vyskočit do schránky systému.</p><p>mějte na paměti, že kopírování/vkládání ze systémové schránky <strong>nebude fungovat</strong> pokud <code>:echo has('clipboard')</code> vrací 0. v tomto případě není vim zkompilován s funkcí <code>+clipboard</code> a budete muset nainstalovat jinou verzi nebo znovu zkompilovat . některé linuxové distribuce standardně dodávají minimální instalaci vimu, ale obecně, pokud <strong>nainstalujte balíček <code>vim-gtk</code> nebo <code>vim-gtk3</code></strong> můžete získat další funkce.</p><p>můžete se také podívat na volbu <code>'clipboard'</code> popsanou v <code>:help cb</code>. v tomto případě můžete <code>:set clipboard=unnamed</code> nebo <code>:set clipboard=unnamedplus</code> provést všechny operace vyhození/smazání automaticky zkopírovat do systémové schránky. to by mohlo být nepříjemností v některých případech, kdy ukládáte něco jiného do schránky, protože to přepíše.</p><p>chcete-li vložit, můžete použít <code>"+p</code> nebo <code>"*p</code> (opět v závislosti na vašem systému a/nebo požadovaném výběru) nebo je můžete namapovat na něco jiného. typicky je zadávám, ale často se nacházím v režimu vkládání. pokud jste v režimu vkládání, můžete je stále vkládat pomocí správného odsazení pomocí <code>&lt;c-r&gt;&lt;c-p&gt;*</code> nebo <code>&lt;c-r&gt;&lt;c-p&gt;+</code>. viz <code>:help i\_ctrl-r\_ctrl-p</code>.</p><p>za zmínku stojí také možnost <code>paste</code> vim (<code>:help paste</code>). toto vloží vim do speciálního "režimu vkládání", který zakáže několik dalších možností, což vám umožní snadno vložit do vimu pomocí svého terminálového emulátoru nebo známé zkratky pro vložení multiplexeru. jednoduše zadejte <code>:set paste</code>, abyste jej aktivovali, vložte obsah a potom zadejte <code>:set nopaste</code>, abyste jej zakázali. alternativně můžete pomocí volby <code>pastetoggle</code> nastavit kód klíče, který přepíná režim (<code>:help pastetoggle</code>). doporučuji používat registry namísto těchto možností, ale pokud jsou stále příliš děsivé, může to být vhodné řešení, když si vylepšujete své vim chops.</p><p>podrobnější informace naleznete v tématu <code>:help clipboard</code>.</p> <p>jedním z nápadů může být poskytnutí vizuální zpětné vazby o tom, kde je textový kurzor. "cíl" může ukázat svou plianci (vnímavost k upuštěnému objektu), stejně jako ikona může ukazovat jeho sílu (vnímavost k přetažení).</p><p>zde je animovaná grafika pro ilustraci, kromě toho, že se při náhledu nebude animovat. :( uživatel přetáhne ikonu kalkulačky doleva.</p><p><img src="https://i.stack.imgur.com/qsahg.gif" alt="enter image description here"></p><p>vkládací paprsek (žlutý i-paprsek na obrázku) ukazuje plianci plochy - „místo, kam ikona zmizí, pokud ji nyní přetáhnete“. protože i-paprsek předvídá cíl na základě směru přetažení, i-paprsek přichytí k levému okraji stránky před tím, než tam táhne prst uživatele. to znamená, že uživatel může ikonu přetáhnout trochu brzy, <strong>aby nedošlo k posunu na jinou stránk</strong>.</p><p>aby to fungovalo dobře, na začátku přetažení by se měl vložený paprsek pravděpodobně ve výchozím nastavení objevit směrem k „uvnitř“ obrazovky (předpokládejme, že uživatel bude ve výchozím nastavení přetahovat směrem do středu obrazovky), dokud uživatel nezačne přetahovat. směrem ven, <em> off </em> stránka. podobný typ interakce může přizpůsobit stránkování podél vertikální osy.</p><p>toto je pouze jedno možné řešení. jsem si jistý, že existují další. bavte se s tím.</p> <blockquote> <p>existuje v sql konstrukt, který by mi umožnil dělat něco jako následující:</p> </blockquote><p>ano, existuje téměř přesně tak, jak jste to napsali. stačí do závorek vložit <code>col1, col2</code>:</p><pre><code>-- works in postgresql, oracle, mysql, db2, hsqldb select whatever from t  you missed the from where (col1, col2)  parentheses here in ((val1a, val2a), (val1b, val2b), ...) ; </code></pre><p>pokud to zkusíte v dbms, možná zjistíte, že to nefunguje. protože ne všechny dbms implementovaly všechny funkce (vyvíjejícího se) standardu sql. funguje to v nejnovějších verzích oracle, mysql, postgres, db2 a hsqldb (nebylo to v mysql dobře optimalizováno a nepoužívaly indexy, proto by se tam nemělo vyhýbat, pokud to neřeší v 5.7).</p><p>viz mysql dokumentace o <a href="https://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html#function\_in"><code>in</code> operator</a> a postgres dokumentace o <a href="https://www.postgresql.org/docs/current/static/sql-expressions.html#sql-syntax-row-constructors">row konstruktory</a> . dvě * (nebo více) hodnot v závorkách se nazývají konstruktory řádků <strong> </strong>.</p><p>další způsoby, které vyjadřují stejnou myšlenku:</p><pre><code>-- works in postgresql, db2 select whatever from t where (col1, col2) in ( values (val1a, val2a), (val1b, val2b), ...) ; select t.whatever from t join ( values (val1a, val2a), (val1b, val2b), ...) as x (col1, col2) on (x.col1, x.col2) = (t.col1, t.col2) ; </code></pre><p>oba pracují v postgresu a db2 (afaik). poslední může být také upraven tak, aby fungoval na serveru sql server:</p><pre><code>-- works in postgresql, db2, sql server select t.whatever from t join ( values (val1a, val2a), (val1b, val2b), ...) as x (col1, col2) on x.col1 = t.col1 and x.col2 = t.col2 ; </code></pre><p>může být také upraven tak, aby fungoval všude, nejprve uložením hodnot do (dočasné nebo trvalé) tabulky:</p><pre><code>-- works everywhere create table values\_x ( col1 ..., col2 ...) ; -- use appropriate for the dbms syntax here insert into values\_x (col1, col2) values (val1a, val2a), (val1b, val2b), ... ; select t.whatever from t join values\_x x on x.col1 = t.col1 and x.col2 = t.col2 ; drop table values\_x ; </code></pre><p>a vždy existuje dlouhá cesta nebo převod <code>in</code> na dlouhý výraz s <code>or</code>, který by měl fungovat všude:</p><pre><code>-- works in all sql dbms select whatever from t where col1 = val1a and col2 = val2a or col1 = val1b and col2 = val2b  ; </code></pre><p>*: ve skutečnosti to může být jen jedna hodnota, s <code>row(v)</code>, viz postgres docs.</p> <p>x11 má několik dostupných schránek. ve výchozím nastavení <code>xclip</code> umisťuje data do vyrovnávací paměti primárního výběru. chcete-li jej vložit, použijte prostřední kliknutí.</p><p>pokud chcete použít <kbd>ctrl</kbd>+<kbd>v</kbd>, použijte <code>xclip -selection clipboard</code>. viz <code>man xclip</code> pro více informací.</p><p> <a href="http://standards.freedesktop.org/clipboards-spec/clipboards-latest.txt">freedesktop.org</a> jsou dobré informace o různých schránkách.</p> <p>dlouhé řádky můžete rozdělit pomocí znaku <code>^</code>, pokud si pamatujete, že znak a nový řádek za ním jsou zcela odstraněny. takže, pokud by měl být mezera, kde prolomíte čáru, vložte mezeru. <em> ( <a href="https://stackoverflow.com/a/21000752/157247">více k tomu níže.</a> ) </em></p><p>příklad:</p><pre><code>copy file1.txt file2.txt </code></pre><p>bude psáno jako:</p><pre><code>copy file1.txt^ file2.txt </code></pre> No, je tu vestavěný režim shell, který dělá zvýrazňování syntaxe, pokud to není již zapnutý, `M-x shell-script-mode`bude to pro vás.


Pokud jde o nástroj, aby skriptování jednodušší. Je tu [bash shell debugger](http://bashdb.sourceforge.net/) , takže pokud si program v bash, který by pomohl dost.


Samozřejmě je tu [eshell](http://www.emacswiki.org/emacs/CategoryEshell) , shell napsaný v Emacs Lisp, takže můžete získat všechny zvýraznění syntaxe byste očekávali od Lisp, automatické dokončování a Emacs LISP debugger. <p>myslím, že otázka je:</p><blockquote> <p>"jak mohu získat přesně to, co chci od svých uživatelů tím, že jim vstup nesmyslně usnadní?"</p> </blockquote><p>jedinou instancí, kde vidím uživatele, kteří skutečně potřebují používat html přímo v nějaké formě vstupu, je, když/pokud formátují tabulková data. v takovém případě je však mnohem snazší dát jim formu, která dokáže udělat totéž, nebo jakoukoli z populárních sítí dostupných v různých knihovnách.</p><p>myslím, že zlatým pravidlem je, alespoň pro mě, použití systému značkování, které není html, které mohou vaši zpracovatelé formulářů použít k vytvoření krásného, ​​standardu vyhovujícího a sémanticky správného html.</p><p>skenery třetích stran mohou (obvykle) detekovat většinu problémů s nahranými soubory. osobně se mi líbí clamav - který je k dispozici pro * nix i windows.</p><p>to řeší problém zajistit, že je vše uspořádáno pěkně, správně naformátováno a návštěvníkům nejsou podávány žádné nežádoucí věci, nebo je to tak?</p><p>druhou věcí, kterou musíte udělat, je zkontrolovat jakýkoli obsah, který předloží, člověk musí mít na tom nějakou roli, nebo bude něco chybět. je tento obrázek vhodný? vede tento odkaz k malwaru nebo k něčemu jinému, na co byste raději nechtěli odkazovat? atd.</p><p>poskytnutí mechanismu označování pomáhá, ale není vždy účinné. pokud například na stackoverflow.com odpovíte na dvouletou otázku, otázka se okamžitě přesune na titulní stránku, kde komunita určitě zkontroluje, co bylo právě přidáno. ne všechny systémy jsou navrženy s ohledem na tento druh ochrany.</p><p>pokud uděláte značné množství svazku, pokud jde o obsah příspěvků od uživatelů, pravděpodobně stojí za to prozkoumat pomocí dodavatelů, kteří jednoduše zkontrolují podání a ujistí se, že nevhodná média/odkazy jsou rychle vyřazeny. nebo si možná můžete vyhledat pomoc od své komunity uživatelů (pokud existuje), aby udělali totéž, výměnou za nějaký druh zvláštních privilegií nebo výhod, které běžní uživatelé nemají rádi.</p>