Gå til innhold

Dipswitch oversikt i Excel


RuneTh666

Anbefalte innlegg

Jeg trenger ett Excelark med oppsett av dipswitcher. Det er switch 1-8 og adresse 0-127.
Begynte på noe men merket jo at det kom til å ta laaang tid og ganske stor sjanse for at jeg kom til å gjøre feil.

Tanken er at i kolonne A så har jeg adresselisten fra 0-127, i kolonne B så vises innstillingene på dippene (On eller Off) og i kolonne C så kan jeg skrive inn tekst.

Finne det enklere måte enn å lage en million (ja jeg vet. Det blir bare 1016 🙂) små ruter som viser hver enkelt dip-instilling? 

Lenke til kommentar
Videoannonse
Annonse

ChatGPT har et forslag, mulig det kan hjelpe deg å komme i mål?

Sitat

For å løse dette effektivt, kan vi lage et Excel-ark der adressene fra 0-127 automatisk viser korrekt innstilling av dipswitchene (On/Off) basert på binær representasjon. Dette eliminerer manuelt arbeid og reduserer sjansen for feil.

 

Slik gjør vi det:

 

1. Kolonne A: Adressene fra 0 til 127.

2. Kolonne B: Dipswitch-innstillingene genereres automatisk ved å konvertere adressen til binær og legge til On/Off for hver bit.

3. Kolonne C: Tekstbeskrivelse (valgfritt).

 

Her er hvordan du setter det opp i Excel:

 

1. Opprett adresser i kolonne A

 

Skriv inn tallet 0 i celle A2 og bruk autofyll til å fylle ut tallene fra 0 til 127.

 

2. Generer dipswitch-innstillinger i kolonne B

 

I celle B2, bruk følgende formel for å konvertere verdien i kolonne A til en binær streng på 8 biter og erstatte 1 med “On” og 0 med “Off”:

 

=TEXTJOIN(" ", TRUE, IF(MID(TEXT(A2, "000"), {1,2,3,4,5,6,7,8}, 1)="1", "On", "Off"))

 

Forklaring:

TEXT(A2, "00000000") konverterer tallet i kolonne A til en 8-bits binær streng.

MID(..., {1,2,3,4,5,6,7,8}, 1) henter hver bit i strengen.

IF(..., "On", "Off") erstatter 1 med “On” og 0 med “Off”.

TEXTJOIN(" ", TRUE, ...) samler resultatene i én celle, atskilt med mellomrom.

 

Kopier formelen nedover for alle adresser (fra B2 til B129).

 

3. Legg til tekstbeskrivelse i kolonne C

 

Her kan du skrive inn tekstbeskrivelser manuelt for hver adresse etter behov.

 

Eksempel:

 

Adresse (A) Dipswitch-innstillinger (B) Beskrivelse (C)

0 Off Off Off Off Off Off Off Off

1 On Off Off Off Off Off Off Off

127 On On On On On On On On

 

Med denne løsningen får du en dynamisk og feilfri oppsettstabell. 

Jeg koperte teksten i spørsmålet ditt når jeg ba ChatGPT om en løsning. 
Man kan også få ChatGPT til å lage et regneark 😊

Lenke til kommentar

Du kan også løse oppgaven ved å bruke funksjonen: DEC2BIN().

  1. Fyll kolonne A med 0-127
  2. I celle B1 bruker du formelen `=DEC2BIN(A1;8)`
  3. Så kopierer du formelen nedover kolonne B

Resultat (1 = på og 0 = av):

Spoiler
0	00000000
1	00000001
2	00000010
3	00000011
4	00000100
5	00000101
6	00000110
7	00000111
8	00001000
9	00001001
10	00001010
11	00001011
12	00001100
13	00001101
14	00001110
15	00001111
16	00010000
17	00010001
18	00010010
19	00010011
20	00010100
21	00010101
22	00010110
23	00010111
24	00011000
25	00011001
26	00011010
27	00011011
28	00011100
29	00011101
30	00011110
31	00011111
32	00100000
33	00100001
34	00100010
35	00100011
36	00100100
37	00100101
38	00100110
39	00100111
40	00101000
41	00101001
42	00101010
43	00101011
44	00101100
45	00101101
46	00101110
47	00101111
48	00110000
49	00110001
50	00110010
51	00110011
52	00110100
53	00110101
54	00110110
55	00110111
56	00111000
57	00111001
58	00111010
59	00111011
60	00111100
61	00111101
62	00111110
63	00111111
64	01000000
65	01000001
66	01000010
67	01000011
68	01000100
69	01000101
70	01000110
71	01000111
72	01001000
73	01001001
74	01001010
75	01001011
76	01001100
77	01001101
78	01001110
79	01001111
80	01010000
81	01010001
82	01010010
83	01010011
84	01010100
85	01010101
86	01010110
87	01010111
88	01011000
89	01011001
90	01011010
91	01011011
92	01011100
93	01011101
94	01011110
95	01011111
96	01100000
97	01100001
98	01100010
99	01100011
100	01100100
101	01100101
102	01100110
103	01100111
104	01101000
105	01101001
106	01101010
107	01101011
108	01101100
109	01101101
110	01101110
111	01101111
112	01110000
113	01110001
114	01110010
115	01110011
116	01110100
117	01110101
118	01110110
119	01110111
120	01111000
121	01111001
122	01111010
123	01111011
124	01111100
125	01111101
126	01111110
127	01111111

Edit: Norsk navn på funksjonen: `DESTILBIN()`

Endret av backtoback
DESTILBIN; på/av; typos
Lenke til kommentar
NoBo skrev (På 22.11.2024 den 2:15 PM):

ChatGPT har et forslag, mulig det kan hjelpe deg å komme i mål?

Jeg koperte teksten i spørsmålet ditt når jeg ba ChatGPT om en løsning. 
Man kan også få ChatGPT til å lage et regneark 😊

Takk for tipset så langt. Når jeg kopierer formelen =TEXTJOIN(" ", TRUE, IF(MID(TEXT(A2, "000"), {1,2,3,4,5,6,7,8}, 1)="1", "On", "Off")) inn i B2 så får jeg feilmelding på formelen og det blir markert på ", står etter aller første parentes. Ser også at jeg har norsk utgave av Excel så jeg må sikkert endre navnene i formelen også.

Lenke til kommentar
backtoback skrev (23 timer siden):

Du kan også løse oppgaven ved å bruke funksjonen: DEC2BIN().

  1. Fyll kolonne A med 0-127
  2. I celle B1 bruker du formelen `=DEC2BIN(A1;8)`
  3. Så kopierer du formelen nedover kolonne B

Resultat (1 = på og 0 = av):
 

  Skjul innhold
0	00000000
1	00000001
2	00000010
3	00000011
4	00000100
5	00000101
6	00000110
7	00000111
8	00001000
9	00001001
10	00001010
11	00001011
12	00001100
13	00001101
14	00001110
15	00001111
16	00010000
17	00010001
18	00010010
19	00010011
20	00010100
21	00010101
22	00010110
23	00010111
24	00011000
25	00011001
26	00011010
27	00011011
28	00011100
29	00011101
30	00011110
31	00011111
32	00100000
33	00100001
34	00100010
35	00100011
36	00100100
37	00100101
38	00100110
39	00100111
40	00101000
41	00101001
42	00101010
43	00101011
44	00101100
45	00101101
46	00101110
47	00101111
48	00110000
49	00110001
50	00110010
51	00110011
52	00110100
53	00110101
54	00110110
55	00110111
56	00111000
57	00111001
58	00111010
59	00111011
60	00111100
61	00111101
62	00111110
63	00111111
64	01000000
65	01000001
66	01000010
67	01000011
68	01000100
69	01000101
70	01000110
71	01000111
72	01001000
73	01001001
74	01001010
75	01001011
76	01001100
77	01001101
78	01001110
79	01001111
80	01010000
81	01010001
82	01010010
83	01010011
84	01010100
85	01010101
86	01010110
87	01010111
88	01011000
89	01011001
90	01011010
91	01011011
92	01011100
93	01011101
94	01011110
95	01011111
96	01100000
97	01100001
98	01100010
99	01100011
100	01100100
101	01100101
102	01100110
103	01100111
104	01101000
105	01101001
106	01101010
107	01101011
108	01101100
109	01101101
110	01101110
111	01101111
112	01110000
113	01110001
114	01110010
115	01110011
116	01110100
117	01110101
118	01110110
119	01110111
120	01111000
121	01111001
122	01111010
123	01111011
124	01111100
125	01111101
126	01111110
127	01111111

 

Hei og takk for tips her og 🙂
Glemte å si det i sted men dip 1 skal være til venstre. Her blir dip 1 til høyre

Lenke til kommentar

Slik får du reversert verdiene:

Norsk, celle B1: `=TEKST.KOMBINER("";1;DELTEKST(DESTILBIN(A1;8);{8,7,6,5,4,3,2,1};1))`

Engelsk, celle B1: `=TEXTJOIN("";1;MID(DEC2BIN(A1;8);{8,7,6,5,4,3,2,1};1))`

Sjekk om den norske versjonen fungerer. Jeg har kun testet den engelske, og den fungerte fint.

Resultat:

Spoiler
0	00000000
1	10000000
2	01000000
3	11000000
4	00100000
5	10100000
6	01100000
7	11100000
8	00010000
9	10010000
10	01010000
11	11010000
12	00110000
13	10110000
14	01110000
15	11110000
16	00001000
17	10001000
18	01001000
19	11001000
20	00101000
21	10101000
22	01101000
23	11101000
24	00011000
25	10011000
26	01011000
27	11011000
28	00111000
29	10111000
30	01111000
31	11111000
32	00000100
33	10000100
34	01000100
35	11000100
36	00100100
37	10100100
38	01100100
39	11100100
40	00010100
41	10010100
42	01010100
43	11010100
44	00110100
45	10110100
46	01110100
47	11110100
48	00001100
49	10001100
50	01001100
51	11001100
52	00101100
53	10101100
54	01101100
55	11101100
56	00011100
57	10011100
58	01011100
59	11011100
60	00111100
61	10111100
62	01111100
63	11111100
64	00000010
65	10000010
66	01000010
67	11000010
68	00100010
69	10100010
70	01100010
71	11100010
72	00010010
73	10010010
74	01010010
75	11010010
76	00110010
77	10110010
78	01110010
79	11110010
80	00001010
81	10001010
82	01001010
83	11001010
84	00101010
85	10101010
86	01101010
87	11101010
88	00011010
89	10011010
90	01011010
91	11011010
92	00111010
93	10111010
94	01111010
95	11111010
96	00000110
97	10000110
98	01000110
99	11000110
100	00100110
101	10100110
102	01100110
103	11100110
104	00010110
105	10010110
106	01010110
107	11010110
108	00110110
109	10110110
110	01110110
111	11110110
112	00001110
113	10001110
114	01001110
115	11001110
116	00101110
117	10101110
118	01101110
119	11101110
120	00011110
121	10011110
122	01011110
123	11011110
124	00111110
125	10111110
126	01111110
127	11111110

Kilder:
https://functiontranslator.com/no/
https://exceljet.net/formulas/reverse-text-string

Endret av backtoback
kilder; resultat
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...