Article View: alt.pl.openoffice
Article #14546Re: [Calc] Wyszukiwanie w tekście
From: JaromirD
Date: Fri, 19 Nov 2010 22:47
Date: Fri, 19 Nov 2010 22:47
73 lines
3389 bytes
3389 bytes
Sławomir Załęcki wrote:
> Witam,
>
> Mam tabelkę (dwie kolumny) z symbolami i liczbami:
> (kol A) (kol B)
> S345 1275
> N765 2154
> N6F3 1629
> MNS3 1962
> NHS6 2360
> N7HG 1949
> V12A 660
> 8199K 1453
> NN7 1343
> 8450S 2058
> NA3D 1182
> Q340 1347
> BB40 2100
> itd.
>
> W innym miejscu mam kolumnę z nazwami, np:
> Próbka KT/NHS6/052008
> Próbka PAA/V12A/2009
> Próbka LS/NN7-I/012007
> Wzorzec WZ/W-N765/2009
> Próbka LS/NA3D/2007
> Próbka LS/NN7-II/022007
> itd.
>
> Obok tej kolumny mam wypisać liczby, które odpowiadają
> wyszukanym symbolom z pierwszej tabeli:
>
> (kol G) (kol H)
> Próbka KT/NHS6/052008 2360
> Próbka PAA/V12A/2009 660
> Próbka LS/NN7-I/012007 1343
> Wzorzec WZ/W-N765/2009 2154
> Próbka LS/NA3D/2007 1182
> Próbka LS/NN7-II/022007 1343
> itd.
>
> używam do tego takiej formuły (potworka) w kolumnie H:
>
=JEŻELI(CZY.BŁ(SZUKAJ.TEKST($A$1;G1));JEŻELI(CZY.BŁ(SZUKAJ.TEKST($A$2;G1));JEŻELI(CZY.BŁ(SZUKAJ.TEKST(A$3$;G1));JEŻELI(CZY.BŁ(SZUKAJ.TEKST($A$4;G1));JEŻELI(CZY.BŁ(SZUKAJ.TEKST($A$5;G1));JEŻELI(CZY.BŁ(SZUKAJ.TEKST($A$6;G1));JEŻELI(CZY.BŁ(SZUKAJ.TEKST($A$7;G1));JEŻELI(CZY.BŁ(SZUKAJ.TEKST($A$8;G1));JEŻELI(CZY.BŁ(SZUKAJ.TEKST($A$9;G1));JEŻELI(CZY.BŁ(SZUKAJ.TEKST($A$10;G1));JEŻELI(CZY.BŁ(SZUKAJ.TEKST($A$11;G1));JEŻELI(CZY.BŁ(SZUKAJ.TEKST($A$12;G1));JEŻELI(CZY.BŁ(SZUKAJ.TEKST($A$13;G1));"-";
$B$13);$B$12);$B$11);$B$10);$B$9);$B$8);$B$7);$B$6);$B$5);$B$4);$B$3);$B$2);
$B$1)
>
> Problem w tym, że tabelka się rozrasta i robi się
> z tego koszmar.
>
> Czy ktoś ma pomysł jak to uprościć, a nie zagnieżdżać
> w nieskończoność tej formuły?
>
> Sławek
>
Po pierwsze, dobrze by było, żebyś w kolumnie A zawsze pisał tę samą ilość
znaków z kolumny G po ukośniku; 4 chyba wystarczą; mogą być myślniki "-".
Po drugie tajemne zaklęcie ma postać:
=WYSZUKAJ.PIONOWO(MID($G1;SZUKAJ.TEKST("/";$G1;1)+1;4);$A$1:$B$14;2;0)
Idąc od środka:
- szukaj.tekst podaje numer pozycji - licząc od pierwszego znaku - na której
znajduje się ukośnik w komórce kolumny G
- mid zwraca 4 znaki począwszy od pozycji ukośnika +1 (bo nie chcesz samego
ukośnika, tylko znaki po nim)
- wyszukaj.pionowo wyszukuje 4 znaki zwracane przez funkcję mid w macierzy
A1:B14 i zwraca zawartość odpowiedniej komórki w 2. wierszu. Zero na końcu
jest dlatego, że prawdopodobnie wartości w kolumnie A nie będą posortowane
alfabetycznie. Jeśli będą, można je pominąć.
Jest to na tyle krótki wzór, że można go wpisać w jedną komórkę.
JaromirD
Technical Details
Message-ID:
<ic6uqm$6bl$1@news.onet.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.nask.pl!news.nask.org.pl!news.onet.pl!not-for-mailReferences:
<ic6mk4$2ef1$1@news.mm.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.nask.pl!news.nask.org.pl!news.onet.pl!not-for-mail From: JaromirD <rydberg@q2.pl> Newsgroups: alt.pl.openoffice Subject: Re: [Calc] Wyszukiwanie w tekście Followup-To: alt.pl.openoffice Date: Fri, 19 Nov 2010 23:47:49 +0100 Organization: http://onet.pl Lines: 73 Message-ID: <ic6uqm$6bl$1@news.onet.pl> References: <ic6mk4$2ef1$1@news.mm.pl> NNTP-Posting-Host: 83.1.100.10 Mime-Version: 1.0 X-Trace: news.onet.pl 1290206870 6517 83.1.100.10 (19 Nov 2010 22:47:50 GMT) X-Complaints-To: niusy@onet.pl NNTP-Posting-Date: Fri, 19 Nov 2010 22:47:50 +0000 (UTC) User-Agent: KNode/4.4.7 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit