Creare e richiamare una funzione personalizzata

Si applica a
Excel per Microsoft 365 Excel 2019 Excel 2016 Excel 2013 Excel 2010

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:

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

Di seguito è riportato un semplice esempio di funzione personalizzata che segue una lunga tradizione di programmazione.

  1. Per 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 punto vuoto nel riquadro Query a sinistra e quindi selezionare 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. Hai modificato la query "HelloWorld" 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 modo 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. Per 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 punto vuoto nel riquadro Query a sinistra e quindi selezionare 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 e quindi 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 e aggiunti al riquadro Query come 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 è stata creata 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).

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

  2. Creare la funzione personalizzata "MyHex" Come spiegato 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, seleziona "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 formule di Power Query in Excel

Creare una query con parametri

Gestire le query

Informazioni Power Query funzioni M (docs.com)

Uso di funzioni personalizzate (docs.com)