Just nu i M3-nätverket
Gå till innehåll

Kontrollfunktion IO


Mikael63
 Share

Rekommendera Poster

Det här borde jag kanske kunna lösa själv men det skulle troligen bli en klumpig och ful lösning. Eftersom jag är lat av naturen vänder jag mig hit, igen.

Jag skulle vilka kontrollera värden i helst flera steg på en gång och man behöver ta hänsyn till att värdena inte nödvändigtvis är sorterade på ett visst sätt.

Dessa värden finns inte i Excel "från början" utan är inklistrade och även om jag då i Excel kan sortera så kan jag inte göra det i källan.

Den allra enklaste kontrollen är att se till att dessa "lirar ihop".

1	I1.0
2	I1.1
3	I1.2
4	I1.3
5	I1.4
6	I1.5
7	I1.6
8	I1.7
9	I2.0
10	I2.1
11	I2.2
12	I2.4
13	I2.4
14	I2.5
15	I2.6
16	I2.7

Här finns ett fingerat fel, ja eller kanske två fel. I2.4 finns på två ställen, en I2.4 ska vara I2.3.

 

Om det av någon anledning skulle vara så att ex 8 & 9 har bytt plats så måste även I1.7 och I2.0 byta plats. Eller ev. omvänt då. Jag vill få en färmarkering eller en text i angränsande cell som indikerar en avvikelse.

Det här är bara en del av den totala funktionen för det finns fler värden, ja och sedan ännu fler än dessa:

1	I3.0
2	I3.1
3	I3.2
4	I3.3
5	I3.4
6	I3.5
7	I3.6
8	I2.7
9	I4.0
10	I4.1
11	I4.2
12	I4.3
13	I4.4
14	I4.5
15	I4.6

 

Här har jag petat in ett fel till. I2.7 finns redan på ett annat ställe.

Här skulle det räcka om jag får en notering om avvikelse, att det finns två I2.7 (en sådan kontrollfunktion har jag fått av Monshi tidigare)

 

Det finns ytterligare data att tillgå, i andra kolumner, men kanske det får räcka så här långt.

 

 

 

Länk till kommentar
Dela på andra webbplatser

1. Det är endast möjligt att klistra in värden från urklipp i Excel

 

2. Vet knappt, det är denna tråd https://eforum.idg.se/topic/334895-hitta-förekomster-av-tre-lika-cellvärden/ men jag har inte tillämpat den funktionen för den typ av värden som är aktuell i denna tråd. Men använder den flitigt så som den var ämnad för.

 

3. Fel ordning kan det få vara bara kolumnerna lirar ihop.

Den vänstra kolumnen är en uttagsbeteckning, den högra är adresser.

Det får bara finnas en unik adress för alla rader men uttagsbeteckningarna återkommer.

Uttag 1 har alltid *.0, uttag 2 alltid *.1 osv. till uttag 9 där det börjar om med *.0 och där siffran före . är 1 mer än den för uttag 1.

Varje grupp om 1-16 har en (gemensam) beteckning ex. -D1.1, nästa 16 har då -D1.2 osv.

 

Så för att krångla till det får det bara finnas en rad som har kombon -D1.3, 9, I7.0 som exempel.

däremot är det inte säkert att alla 1-16 med -D1.3 är sorterade i "rätt ordning" och det är inte ens säkert att -D1.3 förekommer längre ner än -D1.2.

 

När jag har manipulerat lite med Excel och sedan ett eget skript för att skriva tillbaks värden till källan har jag, förenklat, klippt ut och klistrat in i Excel. I Excel har jag en "index"-kolumn, ex. A med 1-100.

Sedan kan jag sortera värden i bladet och då faktiskt efter ytterligare ett värde som inte behöver kontrolleras.

Därefter justera det som behövs och därefter sortera tillbaks enligt "index" för att få samma inbördes ordning som källan.

 

Dock gäller frågeställningen här bara hur jag kan kontrollera att allt ser ut att lira ihop.

Någon kontroll av saknade värden behöver inte ske. (ex. kan -D1.14, 16, I12.7 saknas eftersom den är reserv/oanvänd.

 

 

Länk till kommentar
Dela på andra webbplatser

1 timme sedan, skrev MH_:

Eller så här om det är tre värden

=ANTAL.OMF(A:A;A1;B:B;B1;C:C;C1)

Nja, den tycks kontrollera så att jag inte har två eller fler identiska rader, vilket är bra men det sker ex. ingen kontroll av

 

1 timme sedan, skrev Mikael63:

Det får bara finnas en unik adress för alla rader

Här nedan klistrar jag in mina just nu skarpa värden

-D1.1	1	I0.0
-D1.1	2	I0.1
-D1.1	3	I0.2
-D1.1	4	I0.3
-D1.1	5	I0.4
-D1.1	6	I0.5
-D1.1	7	I0.6
-D1.1	8	I0.7
-D1.1	9	I1.0
-D1.1	10	I1.1
-D1.1	11	I1.2
-D1.1	12	I1.3
-D1.1	13	I1.4
-D1.1	14	I1.5
-D1.1	15	I1.6
-D1.1	16	I1.7
-D1.2	1	I2.0
-D1.2	2	I2.1
-D1.2	3	I2.2
-D1.2	4	I2.3
-D1.2	5	I2.4
-D1.2	6	I2.5
-D1.2	7	I2.6
-D1.2	8	I2.7
-D1.2	9	I3.0
-D1.2	10	I3.1
-D1.2	11	I3.2
-D1.2	12	I3.3
-D1.2	13	I3.4
-D1.2	14	I3.5
-D1.2	15	I3.6
-D1.3	1	I4.0
-D1.3	2	I4.1
-D1.3	3	I4.2
-D1.3	4	I4.3
-D1.3	5	I4.4
-D1.3	6	I4.5
-D1.3	7	I4.6
-D1.3	8	I4.7
-D1.3	9	I5.0
-D1.3	10	I5.1
-D1.3	11	I5.2
-D1.3	12	I5.3
-D1.3	13	I5.4
-D1.3	14	I5.5
-D1.4	1	I6.0
-D1.4	2	I6.1
-D1.4	3	I6.2
-D1.4	4	I6.3
-D1.4	5	I6.4
-D1.4	6	I6.5
-D1.4	7	I6.6
-D1.4	8	I6.7
-D1.4	9	I7.0
-D1.4	10	I7.1
-D1.4	11	I7.2
-D1.4	12	I7.3
-D1.4	13	I7.4
-D1.4	14	I7.5
-D1.5	1	I8.0
-D1.5	2	I8.1
-D1.5	3	I8.2
-D1.5	4	I8.3
-D1.5	5	I8.4
-D1.5	6	I8.5
-D1.5	7	I8.6
-D1.5	8	I8.7
-D1.5	9	I9.0
-D1.5	10	I9.1
-D1.5	11	I9.2
-D1.5	12	I9.3
-D1.5	13	I9.4
-D1.5	14	I9.5
-D1.6	1	I10.0
-D1.6	2	I10.1
-D1.6	3	I10.2
-D1.6	4	I10.3
-D1.6	5	I10.4
-D1.6	6	I10.5
-D1.6	7	I10.6
-D1.6	8	I10.7
-D1.6	9	I11.0
-D1.6	10	I11.1
-D1.6	11	I11.2
-D1.6	12	I11.3
-D1.6	13	I11.4
-D1.6	14	I11.5
-D1.6	15	I11.6
-D1.6	16	I11.7
-D1.7	1	I12.0
-D1.7	2	I12.1
-D1.7	3	I12.2
-D1.7	4	I12.3
-D1.7	5	I12.4
-D1.7	6	I12.5
-D1.7	7	I12.6
-D1.7	8	I12.7
-D1.7	9	I13.0
-D1.7	10	I13.1
-D1.7	11	I13.2
-D1.7	12	I13.3
-D1.7	13	I13.4
-D1.7	14	I13.5
-D1.7	15	I13.6
-D1.8	1	I14.0
-D1.8	2	I14.1
-D1.8	3	I14.2
-D1.8	4	I14.3
-D1.8	5	I14.4
-D1.8	6	I14.5
-D1.8	7	I14.6
-D1.8	8	I14.7
-D1.8	9	I15.0
-D1.8	10	I15.1
-D1.8	11	I15.2
-D1.8	12	I15.3
-D1.8	13	I15.4
-D1.8	14	I15.5
-D1.9	1	I16.0
-D1.9	2	I16.1
-D1.9	3	I16.2
-D1.9	4	I16.3
-D1.9	5	I16.4
-D1.9	6	I16.5

Här är de dessutom sorterade på ett bra sätt men det är långt ifrån alla gånger.

Länk till kommentar
Dela på andra webbplatser

Tack!

4 timmar sedan, skrev MH_:

=OM(ELLER(ANTAL.OMF(A:A;A1;B:B;B1;C:C;C1)>1;ANTAL.OM(C:C;C1)>1;REST(B1-1;8)<>HÖGER(C1;1)*1);"feeel";"")

Verkar ju ta båda typer av fel som jag ser det, dubbletter och att de inte lirar ihop och i praktiken torde detta räcka långt.

 

När jag försöker hårdtesta ser jag att man kan trilla dit om man litar blint på detta:

-D1.8   3     I14.2

-D1.8       I14.3      feeel

-D1.8   4     I14.4      feeel

-D1.8   6     I14.5

-D1.8   7     I15.6

-D1.8   8     I14.7

-D1.8   9     I15.0

-D1.8   10   I15.1

-D1.8   11   I15.2

-D1.8   12   I15.3

-D1.8   13   I15.4

-D1.8   14   I15.5

-D1.9   1     I16.0

 

röd 5 & 4 har bytt plats = fel vilket ju stämmer.

 

röd I15.6 ger inget fel eftersom det inte finns någon annan I15.6 att bråka med. Det skulle där ha varit I14.6 i stället.

Kanske inte inträffar i praktiken men det är samtidigt ett sådant fel som man lätt missar om man bara skummar igenom raderna.

 

Länk till kommentar
Dela på andra webbplatser

Tack.

Jag kör dina formler i varsin kolumn i stället för att försöka slå ihop dem.

Får testa mer senare, kanske med verkliga fel i stället för framtvingade sådana.

 

Länk till kommentar
Dela på andra webbplatser

9 timmar sedan, skrev MH_:

=VÄNSTER(C2;SÖK(".";C2))<>VÄNSTER(C1;SÖK(".";C1))

Kan kombineras med ett villkor som kollar om det borde vara = föregående rad

=OCH((A2=A1);(B2>=9)=(B1>=9))

Slås ihop till 

=OCH((A2=A1);(B2>=9)=(B1>=9);VÄNSTER(C2;SÖK(".";C2))<>VÄNSTER(C1;SÖK(".";C1)))

Dessa fungerar inte. Jo, de fungerar kanske som formeln är skriven men de ger felaktig information.

 

Funderar på om det skulle vara bra om man kan ange startvärden för respektive kolumn och kontrollen då förhåller sig efter den informationen?

 

Då måste man så klart sortera men det kan jag "stå ut med".

 

Jag kan ex. ha -D2.4 överst och jag kan ha I30.0 överst i mina data.

Ja egentligen kan jag också ha 10 överst i B men då skulle  motsvarande I bli I31.1

Skulle då alltså kunna ange vad som skulle varit överst för att efterföljande ska stämma.

 

Länk till kommentar
Dela på andra webbplatser

Jag tog

På 2020-09-23 på 14:00, skrev MH_:

Då borde den här räcka

=OM(ANTAL.OM(A:A;A1)=1;"";"dub(b)lett")

i en annan kolumn, ändrade till O istf. A och i O har jag =SAMMANFOGA(A1;"-";B1)

Då kan jag kolla att jag inte har ex. två -D1.2 1

 

Länk till kommentar
Dela på andra webbplatser

 Share

×
×
  • Skapa nytt...