Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Zahlenformat für Leerzeichen statt führender Null bei Zeitdauern?

7 views
Skip to first unread message

Tim Landscheidt

unread,
Dec 20, 2022, 9:14:48 AM12/20/22
to
Moin,

ich möchte Zeitdauern mit Minutengenauigkeit („0:39“,
„2:15“, „13:24“, „24:00“) in einer Spalte zentriert forma-
tieren, aber dabei die „:“ untereinander ausrichten à la:

| Spaltenüberschrift
| 0:39
| 2:15
| 13:24
| 24:00

Für Zeitdauern verwende ich das Format „[h]:mm“. Dabei wer-
den jedoch die „:“ nicht untereinander ausgerichtet.

Mit „[hh]:mm“ funktioniert das, aber dafür werden bei „0:39“
und „2:15“ überflüssige Nullen eingefügt („00:39“ und
„02:15“).

Ich könnte die Zellen rechtsbündig formatieren und dann mit
den Einzügen basteln, aber das wäre zu aufwendig und fragil.

Wie kann ich das Zahlenformat definieren, so dass Excel für
den Wert „0:39“ die Ausgabe „ 0:39“ und für „13:24“ „13:24“
erzeugt?

TIA,
Tim

Friedrich Karl Siebert

unread,
Dec 20, 2022, 11:54:44 AM12/20/22
to
Am 20.12.2022 um 15:14 schrieb Tim Landscheidt:
> Moin,
>
> ich möchte Zeitdauern mit Minutengenauigkeit („0:39“,
> „2:15“, „13:24“, „24:00“) in einer Spalte zentriert forma-
> tieren, aber dabei die „:“ untereinander ausrichten à la:
>
> | Spaltenüberschrift
> | 0:39
> | 2:15
> | 13:24
> | 24:00
>
> Für Zeitdauern verwende ich das Format „[h]:mm“. Dabei wer-
> den jedoch die „:“ nicht untereinander ausgerichtet.
>
> Mit „[hh]:mm“ funktioniert das,
Du benutzt "benutzerdefiniert"?
Mit "Uhrzeit" bekommst du das gewünschte, oder sehe ich das falsch?

--
mit freundlichem Gruß
F.K.

Tim Landscheidt

unread,
Dec 20, 2022, 2:49:54 PM12/20/22
to
Friedrich Karl Siebert <f.k.s...@online.de> wrote:

>> ich möchte Zeitdauern mit Minutengenauigkeit („0:39“,
>> „2:15“, „13:24“, „24:00“) in einer Spalte zentriert forma-
>> tieren, aber dabei die „:“ untereinander ausrichten à la:

>> | Spaltenüberschrift
>> | 0:39
>> | 2:15
>> | 13:24
>> | 24:00

>> Für Zeitdauern verwende ich das Format „[h]:mm“. Dabei wer-
>> den jedoch die „:“ nicht untereinander ausgerichtet.

>> Mit „[hh]:mm“ funktioniert das,
> Du benutzt "benutzerdefiniert"?

Ja.

> Mit "Uhrzeit" bekommst du das gewünschte, oder sehe ich das falsch?

„Uhrzeit“ („h:mm“) formatiert „0:39“ und „13:24“ in unter-
schiedlicher Breite, so dass bei einer zentrierten Spalte
die Doppelpunkte nicht untereinander ausgerichtet sind.

Tim

Friedrich Karl Siebert

unread,
Dec 21, 2022, 7:49:37 AM12/21/22
to
Bei mir sind die Doppelpunkte exakt untereinander,  bei "rechtsbündig".

Tim Landscheidt

unread,
Dec 21, 2022, 9:11:27 AM12/21/22
to
Friedrich Karl Siebert <f.k.s...@online.de> wrote:

>>>> ich möchte Zeitdauern mit Minutengenauigkeit („0:39“,
>>>> „2:15“, „13:24“, „24:00“) in einer Spalte zentriert forma-
>>>> tieren, aber dabei die „:“ untereinander ausrichten à la:
>>>> | Spaltenüberschrift
>>>> | 0:39
>>>> | 2:15
>>>> | 13:24
>>>> | 24:00
>>>> Für Zeitdauern verwende ich das Format „[h]:mm“. Dabei wer-
>>>> den jedoch die „:“ nicht untereinander ausgerichtet.
>>>> Mit „[hh]:mm“ funktioniert das,
>>> Du benutzt "benutzerdefiniert"?
>> Ja.

>>> Mit "Uhrzeit" bekommst du das gewünschte, oder sehe ich das falsch?
>> „Uhrzeit“ („h:mm“) formatiert „0:39“ und „13:24“ in unter-
>> schiedlicher Breite, so dass bei einer zentrierten Spalte
>> die Doppelpunkte nicht untereinander ausgerichtet sind.

> Bei mir sind die Doppelpunkte exakt untereinander,  bei "rechtsbündig".

Ich möchte die Zeitangaben aber /zentriert/ (bezogen auf
zweistellige Stundenzahlen) darstellen.

Tim

Claus Busch

unread,
Dec 21, 2022, 9:56:28 AM12/21/22
to
Hallo Tim,

Am Wed, 21 Dec 2022 14:11:24 +0000 schrieb Tim Landscheidt:

> Ich möchte die Zeitangaben aber /zentriert/ (bezogen auf
> zweistellige Stundenzahlen) darstellen.

das funktioniert mit Zeiten so nicht.
Du musst entweder die Zeiten hh:mm formatieren und dich mit der
führenden Null abfinden oder eine Monospace-Schriftart verwenden
(Schriftart gleicher Breite).
Eine andere Möglichkeit wäre, die Zeiten mit dem Format
?0":"0?
immer vierstellig einzugeben, z.B.:
0030, 2400 usw.


Freundliche Grüße
Claus
--
Windows11
Microsoft 365 for business

Tim Landscheidt

unread,
Jan 8, 2023, 11:20:07 AM1/8/23
to
Claus Busch <claus...@t-online.de> wrote:

>> Ich möchte die Zeitangaben aber /zentriert/ (bezogen auf
>> zweistellige Stundenzahlen) darstellen.

> das funktioniert mit Zeiten so nicht.
> Du musst entweder die Zeiten hh:mm formatieren und dich mit der
> führenden Null abfinden oder eine Monospace-Schriftart verwenden
> (Schriftart gleicher Breite).

Da Ziffern in den meisten Schriftarten die gleiche Breite
haben, war ich davon ausgegangen, dass das kein Problem dar-
stellt.

> Eine andere Möglichkeit wäre, die Zeiten mit dem Format
> ?0":"0?
> immer vierstellig einzugeben, z.B.:
> 0030, 2400 usw.

Ich habe jetzt eine Lösung gefunden: Das Unicode-Leerzeichen
„U+2007 FIGURE SPACE“ erzeugt eine Breite, die der von Zif-
fern entspricht. Damit kann ich den Bereich derart formatie-
ren, dass in dem Normalfall ein solches Leerzeichen dem For-
mat vorangestellt wird, und dann eine bedingte Formatierung
darüberlegen, die für Zellenwerte >= 10 h dieses Leerzeichen
weglässt.

Diese Lösung funktioniert nicht für alle denkbaren Eingaben,
aber meinen Anwendungsfall deckt sie ab.

In Office-JS sieht das dann testweise so aus:

| const range = sheet.getRange('A1:A10');
| range.values = [[0], [.1], [.2], [.3], [.4], [.5], [.6], [.7], [.8], [.9]];
| range.numberFormat = Array(10).fill(['\u2007[h]:mm']);
| range.conditionalFormats.clearAll();
| const cf = range.conditionalFormats.add(Excel.ConditionalFormatType.cellValue);
| cf.cellValue.format.numberFormat = '[h]:mm';
| cf.cellValue.rule = { formula1: "=TIME(10,0,0)", operator: "GreaterThanOrEqual" };

und sollte sich prinzipiell auch interaktiv verwenden las-
sen.

Danke für die Inspirationen,
Tim
0 new messages