Forum Discussion

tkiefert's avatar
tkiefert
Copper Contributor
May 16, 2023

@-sign in formulas

A couple of days ago I posted the following question which was 'hidden' in another topic. Unfortunately I didn't receive any answer. That's why I created a new topic with a corresponding subject.

 

There's an Excel template which is filled out by our case management system. In the template there's one formula like this (no @ in front of 'InvoiceData'):

 

=WENNFEHLER(SVERWEIS(B2;WENN(D2=InvoiceData!$F:$F;InvoiceData!$C:$F);4;0);"")

 

In the filled out Excel file the formula looks like this:

 

=WENNFEHLER(SVERWEIS(B2;WENN(D2=@InvoiceData!$F:$F;InvoiceData!$C:$F);4;0);"")

 

Does anyone know why Excel added the @-sign and how I can prevent it from doing so? Without the @-sign the formula works just fine, but with this sign it doesn't.

 

Thanks in advance

Thilo

8 Replies

  • NikolinoDE's avatar
    NikolinoDE
    Gold Contributor

    tkiefert 

    Die Hinzufügung des @-Symbols in der von Ihnen bereitgestellten Formel zeigt an, dass Excel den Begriff "InvoiceData" als definierten Namen oder Tabellennamen erkennt. Wenn Excel einen Namen ohne spezifischen Bereich oder Bezug erkennt, nimmt es an, dass es sich um einen definierten Namen oder eine Tabelle innerhalb der Arbeitsmappe handelt.

    Um zu verhindern, dass Excel automatisch das @-Symbol vor "InvoiceData" hinzufügt und es als definierten Namen oder Tabelle interpretiert, können Sie Folgendes versuchen:

    1. Stellen Sie sicher, dass in Ihrer Arbeitsmappe keine definierten Namen oder Tabellen mit dem Namen "InvoiceData" vorhanden sind. Wenn ein definierte Name oder Tabelle mit diesem Namen vorhanden ist, kann dies dazu führen, dass Excel ihn anders interpretiert.

    2. Ändern Sie die Formel so, dass explizit der Blattname angegeben wird, anstatt sich auf die automatische Erkennung von Excel zu verlassen. Aktualisieren Sie die Formel, um den Blattnamen vor den Bereichsreferenzen einzuschließen, beispielsweise so:

      =WENNFEHLER(SVERWEIS(B2;WENN(D2='InvoiceData'!$F:$F;'InvoiceData'!$C:$F);4;0);"")

      Durch das Einfügen des Blattnamens 'InvoiceData' in einfachen Anführungszeichen geben Sie an, dass es sich um einen wörtlichen Text handelt und nicht um einen definierten Namen oder eine Tabelle.

    Indem Sie diese Schritte befolgen, können Sie verhindern, dass Excel automatisch das @-Symbol hinzufügt, und sicherstellen, dass die Formel wie beabsichtigt funktioniert.

    • tkiefert's avatar
      tkiefert
      Copper Contributor

      NikolinoDE 

      Besten Dank für die rasche Rückmeldung. Namen sind keine definiert, zumindest gibt es im Namens-Manager keinen einzigen Eintrag.

      Die Formel habe ich versucht zu ändern. Bei der Verwendung von einfachen Anführungszeichen (Shift + Raute) gibt es zwar keine Fehlermeldung, allerdings wird die Formel in dieser Form nicht gespeichert, sondern die Version ohne die Anführungszeichen. In der "Zieldatei" wird daher auch wieder das @-Symbol angezeigt. Bei Verwendung von Gänsefüßchen oder auch den Hochkommata hingegen moniert Excel eine falsche Formen. Was mache ich da falsch?

      • NikolinoDE's avatar
        NikolinoDE
        Gold Contributor

        tkiefert 

        Vielleicht funktioniert es umgekehrt 🙂

        Anderen Namen verwenden: Benennen Sie das Blatt „InvoiceData“ in einen Namen um, der von Excel nicht automatisch erkannt wird. Sie können es beispielsweise in „Datenblatt“ oder einen anderen passenden Namen umbenennen.

        Durch das Hinzufügen einfacher Anführungszeichen um den Blattnamen wird Excel angewiesen, ihn als Textstring zu behandeln und nicht als definierten Namen oder Tabellennamen zu interpretieren.

         

        Sie auch können versuchen die Funktion INDIREKT zu verwenden, um den Blattnamen dynamisch zu referenzieren. Dadurch können Sie die automatische Erkennung von Excel umgehen. Versuchen Sie es in dem Sie die Formel wie folgt ändern: =WENNFEHLER(SVERWEIS(B2;WENN(D2=INDIREKT("InvoiceData")!$F:$F;INDIREKT("InvoiceData")!$C:$F);4;0);"")

            Die Funktion INDIREKT nimmt einen Textstring als Argument und wandelt ihn in einen Zellbezug um. Durch die Verwendung der Funktion INDIREKT mit dem Blattnamen in Anführungszeichen können Sie das "@"-Zeichen vermeiden.

         

        Probieren Sie diese Lösungsansätze aus und prüfen Sie, ob das Problem mit dem hinzugefügten "@"-Zeichen in Ihrer Formel behoben ist.

Resources