Uso de funciones de libro en Excel

Puede usar las funciones de libro en Excel con Microsoft Graph para invocar cualquier función de libro mediante la sintaxis siguiente: POST /me/drive/root/workbook/functions/{function-name}. Los argumentos de función se proporcionan en el cuerpo mediante un objeto JSON. Las cadenas value y error resultantes de la función se devuelven en el objeto de resultado de la función. El valor error de null indica que la función se ha ejecutado correctamente.

Para obtener una lista completa de las funciones admitidas, vea Clase Excel.Functions. Consulte la firma de la función para obtener tipos de datos y nombres de parámetros específicos.

Importante

  • El parámetro de entrada de intervalo se suministra mediante un objeto range en lugar de la cadena de dirección de intervalo.
  • El parámetro de índice es “1 indexado”, a diferencia del “índice 0” usado en la mayoría de las API.

Ejemplo: vlookup

En una hoja de cálculo de Excel, la función vlookup admite estos argumentos:

  • lookup_value (obligatorio): valor que desea buscar.

  • table_array (obligatorio): rango de celdas donde se encuentra el valor de búsqueda. Recuerde que el valor de búsqueda siempre debe estar en la primera columna del intervalo para que VLOOKUP funcione correctamente. Por ejemplo, si el valor de búsqueda está en la celda C2, el rango debería empezar por C.

  • col_index_num (obligatorio): número de columna del intervalo que contiene el valor devuelto. Por ejemplo, si especifica B2:D11 como el rango, B será la primera columna, C la segunda, etc.

  • range_lookup (opcional): valor lógico que especifica si desea que VLOOKUP encuentre una coincidencia aproximada o exacta. De forma opcional, puede especificar VERDADERO si quiere obtener una coincidencia aproximada, o bien FALSO si quiere obtener una coincidencia exacta del valor devuelto. Si no especifica nada, el valor predeterminado siempre será TRUE o una coincidencia aproximada.

Dentro de una celda, la función vlookup es similar a esta:

=VLOOKUP(valor de búsqueda, intervalo que contiene el valor de búsqueda, el número de columna del intervalo que contiene el valor devuelto; opcionalmente, especifique TRUE para la coincidencia aproximada o FALSE para una coincidencia exacta)

Para obtener más información, consulte la documentación de la función de Excel VLOOKUP.

Solicitud

En el ejemplo siguiente, se muestra cómo realizar una llamada a la función vlookup y pasar estos parámetros con la API de REST de Excel.

POST https://graph.microsoft.com/beta/me/drive/root:/book1.xlsx:/workbook/functions/vlookup
content-type: Application/Json
authorization: Bearer {access-token}
workbook-session-id: {session-id}

{
    "lookupValue": "Temperature",
    "tableArray": { "Address": "Sheet1!E1:G5" },
    "colIndexNum": 2,
    "rangeLookup": false
}

Respuesta

HTTP code: 200 OK
content-type: application/json;odata.metadata

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#workbookFunctionResult",
    "@odata.type": "#microsoft.graph.workbookFunctionResult",
    "@odata.id": "/users('f6d92604-4b76-4b70-9a4c-93dfbcc054d5')/drive/root/workbook/functions/vlookup()",
    "error": null,
    "value": "28.3"
}

Ejemplo: median

En una hoja de cálculo de Excel, la función median admite una matriz de uno o más rangos de entrada.

Dentro de una celda, la función median es similar a este ejemplo:

=MEDIAN(A2:A6)

Para obtener más información, consulte la documentación de la función MEDIAN de Excel.

Solicitud

En el ejemplo siguiente, se muestra cómo realizar una llamada a la función median y uno o más rangos de entrada con la API de REST de Excel.

POST https://graph.microsoft.com/beta/me/drive/root:/book1.xlsx:/workbook/functions/median
content-type: Application/Json
authorization: Bearer {access-token}
workbook-session-id: {session-id}

{
"values" :  [
        { "address": "Sheet2!A1:A5" },
        { "address": "Sheet2!B1:B5" },
      ]
}

Respuesta

HTTP code: 200 OK
content-type: application/json;odata.metadata

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#workbookFunctionResult",
  "@odata.type": "#microsoft.graph.workbookFunctionResult",
  "@odata.id": "/users('2abcad6a-2fca-4b6e-9577-e358a757d77d')/drive/root/workbook/functions/median()",
  "error": null,
  "value": 30
}