Creare e richiamare una funzione personalizzata

Si applica a
Excel per Microsoft 365 Excel 2024 Excel 2021

Una funzione personalizzata usa il linguaggio delle formule M, accetta un set di valori di input e quindi restituisce un singolo valore di output. Se si dispone di una logica che si desidera riutilizzare più volte o applicare lo stesso set di trasformazioni a una query o a un valore diverso, è consigliabile creare una funzione personalizzata e quindi richiamare la funzione dove e quando è necessario. Esistono diversi modi per creare una funzione personalizzata:

  • Usa l'Editor avanzato per aggiungere la tua dichiarazione let e iniziare da zero.
  • Usare il comando Richiama funzione personalizzata .
  • Esistono altri modi per creare funzioni non illustrate in questo argomento della Guida, tra cui i comandi Crea funzione e Aggiungi come query . Per informazioni approfondite, vedere Informazioni sulle funzioni M di Power Query e Uso delle funzioni personalizzate.

Creare e richiamare una semplice funzione personalizzata con l'Editor avanzato

L'esempio seguente mostra una semplice funzione personalizzata che segue una lunga tradizione di programmazione.

  1. Creare una query vuota:

    Excel Selezione dei dati>Recupero dati>da altre origini>Query vuota.

    Power Query Fare clic con il pulsante destro del mouse su un'area vuota nel riquadro Query a sinistra e quindi scegliere Nuova query> Altreorigini>Query vuota.

  2. Nel riquadro Query a sinistra, fai doppio clic sul nome e quindi rinomina la nuova query vuota in HelloWorld.

  3. Selezionare la nuova query e quindi scegliere HomeEditor>avanzato.

  4. Sostituire il codice di avvio del modello con il codice seguente:
    let
         HelloWorld = () => ("Hello World")
    in
         HelloWorld

  5. Scegliere Fatto.

  6. La query, HelloWorld, è stata modificata in una funzione personalizzata. Prendere nota dell'icona della funzione Icona funzione alla sua sinistra.

  7. Per richiamare la funzione, selezionarla e quindi selezionare Richiama in anteprima dati.

    Richiamo della funzione personalizzata HelloWorld

  8. I risultati della funzione vengono visualizzati in Anteprima dati e aggiunti al riquadro Query come query con il nome predefinito, Funzione richiamata. Potresti volerlo rinominare in qualcosa di più significativo, ad esempio HelloWorldResult.

  9. Selezionare la query e quindi selezionare Home>Chiudi & Carica per visualizzare i risultati in un foglio di lavoro.

Risultati

Risultati di HelloWorld in un foglio di lavoro

Creare e richiamare una funzione personalizzata che ha un parametro con l'Editor avanzato

L'esempio seguente mostra come passare un parametro a una funzione personalizzata per convertire un numero decimale in esadecimale.

  1. Creare una query vuota:

    Excel Selezione dei dati>Recupero dati>da altre origini>Query vuota.

    Power Query Fare clic con il pulsante destro del mouse su un'area vuota nel riquadro Query a sinistra e quindi scegliere Nuova query> Altreorigini>Query vuota.

  2. Nel riquadro Query a sinistra, rinominare la nuova query vuota in MyHex.

  3. Selezionare la nuova query e quindi scegliere HomeEditor>avanzato.

  4. Sostituire il codice di avvio del modello con il codice seguente:
    let
         MyHex = (parameter1) => Number.ToText(parameter1,"X")
    in
         MyHex

  5. Scegliere Fatto.

  6. La query, MyHex, è stata modificata in una funzione personalizzata. Prendere nota dell'icona della funzione Icona funzione alla sua sinistra.

  7. Per richiamare la funzione, selezionarla. In Anteprima dati immettere un numero nella casella parametro1 e selezionare Richiama.
    Richiamo della funzione personalizzata MyHex

  8. I risultati della funzione vengono visualizzati in Anteprima dati. Power Query aggiunge i risultati al riquadro Query come una query con il nome predefinito, Funzione richiamata. Potresti volerlo rinominare in qualcosa di più significativo, ad esempio MyHexResult.

  9. Selezionare la query e quindi selezionare Home>Chiudi & Carica per visualizzare i risultati in un foglio di lavoro.

Risultati

Risultato della funzione MyHex in un foglio di lavoro

Aggiungere una colonna richiamando una funzione personalizzata

Se si crea una funzione con almeno un parametro, è possibile richiamarlo come funzione personalizzata per creare una nuova colonna e un nuovo valore per ogni riga di una tabella.

  1. Per aprire una query, individuane una che è stata precedentemente caricata dall'editor di Power Query, seleziona una cella nei dati e quindi seleziona Modifica query>. Per altre informazioni, vedere Creare, modificare e caricare una query in Excel (Power Query).

    Nota

    Per questo esempio, la query richiede almeno una colonna di un tipo di dati Numero intero .

  2. Creare la MyHex funzione personalizzata come descritto nella sezione Creare e richiamare una funzione personalizzata con un parametro con l'Editor avanzato.

  3. Nella query selezionare Aggiungi colonna>Richiama funzione personalizzata. Viene visualizzata la finestra di dialogo Richiama funzione personalizzata .

  4. Immettere il nome della nuova colonna, ad esempio HexConvert, nella casella Nome nuova colonna .

  5. Selezionare il nome di una funzione personalizzata predefinita nell'elenco a discesa Query funzione. In questo esempio, selezionate MyHex.

  6. Poiché la funzione personalizzata fa riferimento a un parametro, il parametro viene ora visualizzato.

  7. Selezionare una colonna di un tipo di dati Numero intero come parametro per la funzione.

    Finestra di dialogo Richiama funzione personalizzata

  8. Selezionare OK.

Risultato

Viene creata una nuova colonna che mostra il valore esadecimale della colonna Numero intero immesso come parametro.

La nuova colonna MyHex di valori in un foglio di lavoro

Vedere anche

Guida di Power Query per Excel

Creare una query con parametri (Power Query)

Gestire le query (Power Query)

Informazioni sulle funzioni M di Power Query

Uso delle funzioni personalizzate