Tack!
"Passa" - på svenska verkar vara en kraftfull instruktion. Ska titta mer
på den.
Andra spännande instruktioner är =ÄREJTEXT(A1) eller = VÄRDETYP(A1)
( I manualen tycker jag syntaxen skulle vara =VÄRDETYP(C2) inte =TYP(C2) )
Men dessa kan inte hantera "blanksteg" som jag vill.
Har suttit en stund och "fipplat" med en del formler och kom fram till
följande skulle kunna vara en lösning (inte så enkelt tycker jag)
Vi utgår från 2 celler. I detta fall E41 med siffror (antal) som
önskemål och F41 som enhet [st].
En möjlig villkorlig formatering av E41 skulle då vara, som fungerar
ganska bra.
OM(E41<>"";ÄRFEL( PASSA(" *[0-9 ]* *";E41:E41;0) );falskt()) (den ger
Svart Fet Text med Röd bakgrund).
F41 skulle då få den villkorliga formateringen .:
OM(E41<>"";ÄRFEL( PASSA(" *[0-9 ]* *";E41:E41;0) );falskt()) (den ger
Svart Fet Text med Röd bakgrund).
och
ICKE(OCH(OM(E41<>"";TRUE();FALSE());ÄREJTEXT(E41))) (den skulle ge vit
text på vit bakgrund - (eller osynlig text.)
Detta hanterar "antal" (Heltal) ganska bra.
Det finns dock undantag. (men jag vet inte hur ofta dessa inträffar).
Om jag förstått rätt är det svårt att förenkla dessa funktioner?
//Jan
____________________________________________________________________
Tänkte försöka skriva om sökkriterierna i PASSA så även talen 9,90 och
9.90 skulle fungera.
Har sökt i manualen för att kunna tolka formatet på "PASSA", men inte
lyckats.
Var hittar jag hur man skriver "sökkriterier" eller reguljära uttryck
för "PASSA"?
//Jan
Johnny Rosenberg skrev 2013-03-14 17:28:
Den 14 mars 2013 00:22 skrev Jan Öhman <Jan_Ohman@glocalnet.net>:
Hej!
Jag har inte en bra lösning på hur man bäst kollar att en cell är numerisk
(dvs innehåller bara heltal)
Menar du numerisk på riktigt eller bara en textsträng som enbart
innehåller siffror?
Blanksteg kan jag också acceptera på ett sätt.
Okej, så vi pratar textformatering då?
Men decimaltal bokstäver gillar jag inte.
Vad är ”decimaltal bokstäver”?
Jag ser cellen "visuellt" ur inmatningssynpunkt. Helst hade jag styrt
att cellen hade varit numerisk.
Men hur jag än gör så förblir den inte alltid numerisk, helt beroende på
vilken information som kopieras till cellen.
Oftast kommer informationen från Excel i varierande format.
Nåväl användaren försöker infoga informationen i blad1 antingen genom
att kopiera eller skriva in värden direkt i cellerna.
I blad2 hämtas informationen från blad1 men presenteras i en annan
ordning och upplägg och kanske annat format och utseende.
Formatet ska passa för att senare exportera till en CSV-fil.
I blad2 försöker jag styra upp innehållet från blad1 och här kommer mitt
problem / utmaning.
I en cell, i blad1, ska användaren ge ett antal men har kopierat och
klistrat in siffrorna samt ett blanksteg följer med.
Detta blanksteg vill jag filtrera bort för att bara få siffror i blad2:s
cell (text eller numeriskt spelar ingen roll).
ex. C5 får bara innehålla heltal eller tecken som inte syns (blanksteg)
Cellen bredvid = D5 innehåller en enhet t.ex. cm.
Om ett tal skrivs in i C5 ska enheten visas i D5. (ex. 10 cm)
Om talet i C5 stryks försvinner enheten igen.
Är anledningen till detta att det inte går att göra via formatering
när det gäller textsträngar?
Antag att i cellen C5 ska användaren skriva ett mått i cm
När användaren skriver in "10" poppar "cm" fram i cellen D5.
Men av någon anledning lyckas användaren skriva 10a i cellen
Då ska något visa att inmatningen blev inte rätt. (ex. röd bakgrund)
I bland lyckas användaren få in ett blanksteg i en tom cell (vet inte
hur) - även då "poppar" cm upp. (ser inte bra ut och användaren blir
förvirrad "varför står det cm där")
Om användaren kopierar in 10 med ett blanksteg före eller efter tycker
jag inte spelar någon roll, det är ändå klart vad som menas.
Därför skulle jag vilja försöka göra en formel som selekterar bara
siffror (och ev. blanksteg) - allt annat ger "helt fel".
Jag har ingen idé hur man skulle kunna skriva ett vilkor för detta.
En lösning är villkorlig formatering i D5 ex. "OM(C5<1) " visa vit text på
vit bakgrund" (Inte helt bra)
Men verkar fungera bättre än "OM(C5="") " visa vit text på vit bakgrund"
Skrivs ett blanksteg in i C5 kommer enheten att visas (vilket jag inte
skulle vilja)
Skrivs en bokstav in i C5 skulle jag vilja att både C5 och D5 fick en "Röd
botten".
Jag hittar inte funktionerna för att skilja mellan siffror och bokstäver.
Det beror nog på att ingen tänkt på att någon skulle komma på idén att
arbeta på detta sätt. Får man fråga vad det är du försöker göra? Antar
att du inte är ute efter att göra någon form av beräkningar på
cellerna (för det går ju inte eftersom de är ren text, om man inte
använder diverse tidsödande text-till-nummer-tricks).
Nej! inga beräkningar utan det är bara en finess.
Normalt (i början) är C5 helt tom, då ska D5 (med enheten "cm") inte synas.
Men om användaren skriver ett tal i C5, då ska enheten cm visas i D5.
Skriver användaren bara blanksteg i C5 ska inte enheten visas.
Kopierar användaren text i C5 skulle jag vilja att bakgrunden blev röd
och markerar ett ogiltigt värde.
Borde kunna få det att fungera om man bara kom på formeln eller hittade
en instruktion för det.
Någon som har en idé?
Göra en egen cellfunktion går ju bra, men dessa brukar bli ganska
långsamma om man har dem i tusentals celler.
Sedan beror det också, som sagt, på vad för cellinnehåll man kan vänta
sig. Är det ALLTID frågan om ren text, eller kan det då och då
förekomma riktiga tal? Eller är det enbart riktiga tal som godkänns
som numeriskt? Det blir en väldigt stor skillnad i hur man bäst
angriper problemet beroende på ovanstående.
Har du testat MATCH (heter väl PASSA på svenska)?
Skriv något i A1
Skriv följande i någon annan cell:
=MATCH(" *[0-9 ]* *";A1:A1;0)
Om A1 innehåller något annat än mellanslag och siffror blir värdet av
formeln #N/A, annars 1. Kanske går att utnyttja i ditt fall? Det går
givetvis bra att använda MATCH i villkor för villkorlig formatering.
Denna funktion ser spännande ut.
Dock får jag samma "svar" om cellen A1 är helt tom eller har en bokstav.
Johnny Rosenberg
//Jan
--
For unsubscribe instructions e-mail to: users+help@sv.libreoffice.org
Problems?
http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/sv/users/
All messages sent to this list will be publicly archived and cannot be
deleted
--
For unsubscribe instructions e-mail to: users+help@sv.libreoffice.org
Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/sv/users/
All messages sent to this list will be publicly archived and cannot be deleted
Context
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.