# Datenmanipulation mit LibreOffice

## Zwei Listen auf Zellinhalt vergleichen

Problem: Herausfinden, ob ein Zellinhalt in einer anderen Spalten vorkommt.

Lösung: ZÄHLENWENN-Funktion

Beispiel:

```
=WENN(ZÄHLENWENN(B$2:B204;A2);"enthalten";"nicht enthalten")
```

## Zwei Listen auf Teilstring vergleichen

```
=ISTZAHL(VERGLEICH("*" & $C2 & "*";$B:$B;0)) 
```

→ Gibt Wahr/Falsch aus, je nachdem, ob der Teilstring gefunden wird.

```
=(VERGLEICH("*" & $C2 & "*";$B:$B;0)) 
```

→ Wird der Teilstring gefunden, wird die Zeile ausgegeben, in der der Teilstring enthalten ist.

## Doppelte Einträge entfernen

Problem: Doppelte Einträge aus einer Liste entfernen

Lösung: Filter setzten

- Daten &gt; Filter &gt; Standardfilter
- Bedingung Feldname "keiner", Bedingung "enthält".
- "Mehr Optionen" → "Keine Duplikate"

siehe: [Quelle](http://praxistipps.chip.de/openoffice-calc-doppelte-eintraege-finden-und-entfernen_28350)

## Zusammensetzten von mehreren Zellen

Problem: Der Inhalt von zwei Zellen soll in eine Zelle geschrieben werden

Lösung: &amp;-Operator

```
=B1&B2
```

## Umbruch in Kombination mit Zusammensetzten von mehreren Zellen kombinieren

**Lösung**: Trick mit Notepad++

1. In dem zusammengesetzten Text sollte ein Zeichen enthalten sein,  
    welches durch den Umbruch ersetzt werden soll (zum Beispiel: #)
2. Der Text sollte dann in Notepad++ kopiert werden, dabei muss der Text in Anführungszeichen gesetzt werden
3. Danach kann das gesetzte Zeichen mit Suchen und Ersetzen durch "\\n" ersetzte werden  
    (Reguläre Ausdrücke müssen aktiviert sein)
4. Danach kann der Text wieder in die CSV oder ODS-Datei eingefügt werden

## Prüfen, ob eine Zelle leer ist

Problem: Zusammensetzten von Kunden oder Artikelnamen aus mehreren Zeilen

Lösung: ISTLEER-Funktion

```
=WENN(ISTLEER(C2);D2;WENN(ISTLEER(D2);C2;C2&", "&D2))
```

## Prüfen, ob der Inhalt einer Zelle in einer anderen Zelle enthalten ist

Lösung: SUCHEN-Funktion

```
=WENN(SUCHEN(C2;B2);B2;B2&"[["&C2&"]]")
```

## Informationen aufteilen, aus eins mach zwei!

**Problem:** Mehrere Informationen sind in einer Zelle enthalten, Informationen werden für den Import aber in mehreren Spalten benötigt

**Beispiel:** Vorwahl von Telefonnummern (06233/12345) oder PLZ und Stadt (67227 Frankenthal)

**Lösung:** LINKS-RECHTS-Funktion in Kombination mit SUCHEN bzw. LÄNGE

```
=LINKS(A2;SUCHEN("/";A2)-1)
=RECHTS(A2;LÄNGE(A2)-SUCHEN("/";A2))
```

## Blockweise durchnummerieren

**Problem:** Mehrere Informationen müssen abhängig von einer Variablen durchnummeriert werden.

**Beispiel:** mehrere Kundenpreise für einen Artikel

**Lösung:** WENN-DANN-Funktion:

```
=WENN(B3=B2;D2+1;1)
```

## Doppelte Einträge farblich markieren

Spalte auswählen und bedingte Formatierung aufrufen, "Zellwert ist" und "mehrmals vorhanden" auswählen.  
Vorlage verwenden: "Error"

oder:

Die zu markierende Spalte auswählen und die bedingte Formatierung aufrufen. Als Bedingung 1 "Formel ist" auswählen und folgende Formel hinterlegen:

```
=ZÄHLENWENN($A$1:$A$5000;A1)>1
```

"A" durch die entsprechende Spalte ersetzen.

## Prüfen, ob Textteil auch in andere Zelle enthalten ist

Problem: Artikelnummer muss auch innerhalb einer anderen Zelle enthalten sein.

Lösung:

```
=SUCHENB(A1;B1)
```

## Zellen mit Zeilenumbruch zusammensetzen

Problem: Inhalte aus 2 Spalten gehören mit einem Zeilenumbruch verbunden. z.B. Mehrzeilige Artikelbeschreibung

Lösung:

```
=A1&Zeichen(10)&B1
```

Zeichen(10) = Zeilenumbruch

## Hochkomma vor Zahlen/Daten entfernen

**Problem**: Beim Öffnen von CSV-Dateien oder Kopieren von Daten aus anderen Dokumenten werden Zahlen oder Daten manchmal in der Art '8173, mit vorangestelltem Hochkomma eingefügt. So können keine Rechenoperationen oder Formeln genutzt werden und die

Sortierung ist nicht numerisch, sondern Alphanumerisch ("8" &gt; "10")

**Lösung**: Über Suchen und Ersetzen mit folgender Formel kann das Hochkomma entfernt werden:

```
Feld Suchen: ^.*$
Feld Ersetzen: &
Checkbox "Regex" aktivieren
```

## Leerzeilen am Anfang eines Textes entfernen

**Lösung**: Über Suchen und Ersetzen mit folgender Formel können Leerzeilen am Anfang von Texten entfernt werden

```
Feld Suchen: ^\s+
Feld Ersetzen: leer
Checkbox: "Regex" aktivieren
```

Für Leerzeilen am Ende zum Suchen: \\s+$ nutzen