Hej!
Ska försöka beskriva mitt problem ytterligare.
LETAUPP() känns som rätt funktion för detta ändamål - men av någon
anledning fungerar inte det som jag önskar.
Antag följande struktur
(I exemplet nedan finns 4 rader. (I ex. nedan
finns 8 rader
Originalet har ca 1000rader) Originalet har
ca 20000rader)
Samma rad kan förekomma flera ggr. Varje rad i kolumn H &
J är unika
Kolumn A
Kolumn H Kolumn I Kolumn J
Rad1 5710528643645 5710528643621 26115071 VÄGGBESLAG 2-PACK
Rad2 5710528631055 5710528643645 26115151 VÄGGBESLAG 2-PACK
Rad3 003490-888-00 5710528643669 23214101 4-FINGER KROK
Rad4 003490-777-00 5710528631055 27200078 KLÄMMA 10-PACK
Rad5 7340073819998 001808-458-80 KUDDFODRAL
Rad6 7340073820017 003490-888-00 ÖLJETTGARDIN 2-PACK
Rad7 7340073820147 003490-288-16 ÖLJETTKAPPA
Rad8 7340073820291 003490-777-00 PANELLÄNGD 2-PACK
Så långt har inga problem uppstått.
Kolumn A innehåller ett värde som finns i Kolumn I eller Kolumn J.
Min önskan är att i Kolumn B och C fylla på med information från
Kolumn I och J
dvs. i exemplet ovan kan värdet A1 hittas i H2 och
Kolumn B1 skulle då få värdet .: "26115151" och Kolumn C1 skulle få
värdet .: "VÄGGBESLAG 2-PACK"
Detta har jag löst på följande sätt (men det fungerar inte fullt ut)
Kolumn E innehåller "1" i fall värdet i Kolumn A finns i Kolumn H
och Kolumn F innehåller "1" i fall värdet i Kolumn A finns i Kolumn I
Formeln .: =OM(ANTAL.OM(H$1:H$10;$A1)>0;ANTAL.OM(H$1:H$10;$A1);"")
Kan skrivas in i E1 och sedan kopieras till övriga celler. (E2 till E4
och F1 till F4)
(Resultatet blir E1 & E2 = 1 samt F3 & F4 = 1)
Så långt inga problem!
Nu börjar problemen...
Formeln i cellen B1 kan se ut på följande sätt .:
=OM(E1>0;LETAUPP(A1;H$1:H$10;I$1:I$10);LETAUPP(A1;I$1:I$10;I$1:I$10))
Formeln i cellen C1 kan se ut på följande sätt .:
=OM(E1>0;LETAUPP(A1;H$1:H$10;J$1:J$10);LETAUPP(A1;I$1:I$10;J$1:J$10))
Cellerna B1 och C1 kommer att innehålla de önskade värdena.
Men de övriga cellerna (B2 till C4) innehåller "´#SAKNAS"
Sorteras värdena i Kolumn H kommer med samma formler bara cellerna B3
till C4 att "´#SAKNAS".
Förmodligen pga. att kolumn I inte är sorterad....
Har inte testat att kopiera Kolumn H till en egen flik - sorterad samt
kopiera
Kolumn I till en annan egen flik - sorterad - det kanske skulle fungera?
Jämförelserna blir mer komplicerade om inte cellerna är formaterade på
samma sätt...
Blev mitt önskemål tydligare?
Den 2017-07-25 kl. 12:31, skrev Johnny Rosenberg:
Vet inte hur det är med alla andra, men jag behöver nog hela filen
för att ens förstå vad du är ute efter, eller åtminstone för att
förstå vad det är som inte fungerar.
Kan du göra en exempelfil som illustrerar vad du är ute efter, lägga
upp den någonstans och ge oss en länk?
Generellt kan jag dock säga att om du letar efter ett värde i en
kolumn och vill veta exakt var värdet hittades, kan du använda
PASSA(). Den returnerar den (relativa) rad där sökt värde hittades.
Se upp med värdet på ”Typ” (sista parametern i PASSA), då svenska
hjälptexten är motsägelsefull, minst sagt.
Exempelvis om du har följande värden i kolumn F:
Hej
på
dej
och
dej
men
också
dej
I G1 lägger jag nu ordet ”dej”.
Någon annanstans, i mitt fall H1, skrev jag:
=PASSA($G$1;$F$1:$F$8;0)
H1 är nu 3. Det betyder att vi hittade ordet i områdets tredje rad
(alltså inte nödvändigtvis rad tre på bladet, men i detta fall blir
det ju det ändå eftersom första värdet i F ligger på rad 1 (F1).
För att hitta de andra ”dej” gör drar vi nytta av radnumret vi just
fick i H1 och skriver följande i H2:
=PASSA($G$1;INDIREKT(ADRESS(H1+1;KOLUMN(F2);4) & ":F9");0)+H1
Denna cell kan vi sedan kopiera vidare neråt. I en annan kolumn kan
vi nu ange hela adressen med ADRESS-funktionen:
=ADRESS(H1;KOLUMN(F1);4)
Denna cell går nu att kopiera nedåt också.
Sista parametern där, 4, styr hur adressen skrivs. 4 → F3, 1 → $F$3
och så vidare.
Hittas inget av PASSA visas #SAKNAS i cellen. Detta kan man givetvis
komma runt genom användning av ÄRSAKNAD och så vidare.
Den 25 juli 2017 10:56 skrev Jan Öhman <Jan_Ohman@glocalnet.net
<mailto:Jan_Ohman@glocalnet.net>>:
Den 2017-07-25 kl. 10:17, skrev Jan Öhman:
Hej!
Har inte fått ihop hur funktionen ska skrivas.....
Antag att följande innehåll finns.
(I det verkliga fallet innehåller kolumn "B" ca 1000rader och
kolumn E & F ca 20000 rader)
Cell
B2 = A123
B3 = B622
E2 = A234
E3 = A123
E4 = A456
E5 = B622
F2 = Hej
F3 = på
F4 = dej
F5 = Rätt cell
Min önskan är att innehållet i cellerna
C2 = F3 (C2 = på)
C3 = E5 (C3 =Rätt cell)
_______________________________________________________
Att värdet i cellen B2 finns i kolumnen E vet jag genom
följande formel
i cellen D2 =ANTAL.OM <http://ANTAL.OM>(E$2:E$5;B2)
Men hur får jag fram vilken cell som matchar (E3) och visar
innehållet i cellen bredvid (F3) i exemplet?
//Jan
Bör nämna att jag testat "LETAUPP" men med tveeggat resultat.
I exemplet ovan kompletteras cellerna
C2 =LETAUPP(B2;E$2:E$5;F$2:F$5)
C3 =LETAUPP(B3;E$2:E$5;F$2:F$5)
fungerar det som tänkt
Men kompletteras cellerna
B4 = C123
C4 =LETAUPP(B4;E$2:E$5;F$2:F$5)
Hittas inte resultatet i kolumn E och resultatet blir sista cellen.
I den riktiga filen finns alla värden från kolumn "B" i "Kolumn E
& F" men där förekommer av någon anledning att ganska många visar
första resultatet (dvs. Cell F2 i exemplet ovan).
Väljer jag att söka med sökfunktionen i Calc hittas alla
träffar.....
(Hoppas det inte blev för krångligt.)
//Jan
-- For unsubscribe instructions e-mail to:
users+unsubscribe@sv.libreoffice.org
<mailto:users%2Bunsubscribe@sv.libreoffice.org>
Problems?
http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
<http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/>
Posting guidelines + more:
http://wiki.documentfoundation.org/Netiquette
<http://wiki.documentfoundation.org/Netiquette>
List archive: http://listarchives.libreoffice.org/sv/users/
<http://listarchives.libreoffice.org/sv/users/>
All messages sent to this list will be publicly archived and
cannot be deleted
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.