{
  "hojas": {
    "Ventas": {
      "celda": "K2",
      "descripcion": "La hoja Ventas tiene los encabezados en la fila 1 y los datos de la fila 2 a la 81: A Fecha, B Vendedor, C Código, D Producto, E Categoría, F Cantidad, G Precio unitario y H Total sin IVA."
    },
    "Notas": {
      "celda": "G2",
      "descripcion": "La hoja Notas tiene los encabezados en la fila 1 y los datos de la fila 2 a la 31: A Estudiante, B Corte 1, C Corte 2 y D Corte 3, con notas de 0,0 a 5,0."
    },
    "Festivos": {
      "celda": "G2",
      "descripcion": "La hoja Festivos tiene los festivos de Colombia de 2026 en A2:A19, la fecha inicial en C2, la fecha final en D2 y la fecha del pedido en E2."
    },
    "Contactos": {
      "celda": "E2",
      "descripcion": "La hoja Contactos tiene los encabezados en la fila 1 y los datos de la fila 2 a la 21: A Nombre, B Apellido y C Correo."
    }
  },
  "comunes": {
    "persona": "Eres analista de datos y dominas Excel.",
    "tono": "Sé breve.",
    "region": "Uso Excel en español de Colombia: funciones en español y punto y coma como separador.",
    "resultado": "Dame solo la fórmula, lista para pegar en la celda {celda} de la hoja {hoja}."
  },
  "tareas": [
    {
      "id": 1,
      "hoja": "Ventas",
      "accion": "Necesito el total vendido por Ana Rojas, en pesos y sin IVA.",
      "situacion": "Quieres saber cuánto vendió en total Ana Rojas.",
      "tipo": "entero",
      "tolerancia": "exacta",
      "referencia": "=SUMAR.SI(B2:B81;\"Ana Rojas\";H2:H81)",
      "errores": ["=SUMAR.SI(B3:B81;\"Ana Rojas\";H3:H81)", "=CONTAR.SI(B2:B81;\"Ana Rojas\")", "=SUMAR.SI(B2:B81;\"Ana Rojas\";F2:F81)"]
    },
    {
      "id": 2,
      "hoja": "Ventas",
      "accion": "Necesito el total vendido por Ana Rojas en agosto de 2026, en pesos y sin IVA.",
      "situacion": "Quieres saber cuánto vendió Ana Rojas en agosto.",
      "tipo": "entero",
      "tolerancia": "exacta",
      "referencia": "=SUMAR.SI.CONJUNTO(H2:H81;B2:B81;\"Ana Rojas\";A2:A81;\">=\"&FECHA(2026;8;1);A2:A81;\"<=\"&FECHA(2026;8;31))",
      "errores": ["=SUMAR.SI(B2:B81;\"Ana Rojas\";H2:H81)", "=SUMAR.SI.CONJUNTO(H2:H81;B2:B81;\"Ana Rojas\";A2:A81;\">=\"&FECHA(2026;8;1);A2:A81;\"<\"&FECHA(2026;8;31))"]
    },
    {
      "id": 3,
      "hoja": "Ventas",
      "accion": "Necesito cuántas unidades se vendieron de la categoría Bebidas.",
      "situacion": "Quieres saber cuántas unidades se vendieron de la categoría Bebidas.",
      "tipo": "entero",
      "tolerancia": "exacta",
      "referencia": "=SUMAR.SI(E2:E81;\"Bebidas\";F2:F81)",
      "errores": ["=CONTAR.SI(E2:E81;\"Bebidas\")", "=SUMAR.SI(E2:E81;\"Bebidas\";H2:H81)"]
    },
    {
      "id": 4,
      "hoja": "Ventas",
      "accion": "Necesito el precio unitario del producto con código P-107.",
      "situacion": "Quieres el precio del producto con código P-107.",
      "tipo": "entero",
      "tolerancia": "exacta",
      "referencia": "=INDICE(G2:G81;COINCIDIR(\"P-107\";C2:C81;0))",
      "errores": ["=BUSCARV(\"P-107\";C2:G81;4;FALSO)", "=BUSCARV(\"P-107\";C2:G81;5;VERDADERO)"]
    },
    {
      "id": 5,
      "hoja": "Ventas",
      "accion": "Necesito el valor con IVA del 19 % de la venta de la fila 37, redondeado a pesos.",
      "situacion": "Quieres el valor con IVA del 19 % de la venta de la fila 37, redondeado a pesos.",
      "tipo": "entero",
      "tolerancia": "exacta",
      "convencion": "Redondeo de Excel: la mitad, hacia arriba.",
      "referencia": "=REDONDEAR(H37*1,19;0)",
      "errores": ["=H37*1,19", "=REDONDEAR.MENOS(H37*1,19;0)", "=REDONDEAR(H37*0,19;0)"]
    },
    {
      "id": 6,
      "hoja": "Ventas",
      "accion": "Necesito la variación porcentual de las ventas de agosto de 2026 frente a las de julio de 2026.",
      "situacion": "Quieres saber en qué porcentaje cambiaron las ventas de julio a agosto.",
      "tipo": "variacion",
      "tolerancia": 0.005,
      "convencion": "Vale como fracción (0,125) o como porcentaje (12,5).",
      "referencia": "=(SUMAR.SI.CONJUNTO(H2:H81;A2:A81;\">=\"&FECHA(2026;8;1);A2:A81;\"<=\"&FECHA(2026;8;31))-SUMAR.SI.CONJUNTO(H2:H81;A2:A81;\">=\"&FECHA(2026;7;1);A2:A81;\"<=\"&FECHA(2026;7;31)))/SUMAR.SI.CONJUNTO(H2:H81;A2:A81;\">=\"&FECHA(2026;7;1);A2:A81;\"<=\"&FECHA(2026;7;31))",
      "errores": ["=(SUMAR.SI.CONJUNTO(H2:H81;A2:A81;\">=\"&FECHA(2026;7;1);A2:A81;\"<=\"&FECHA(2026;7;31))-SUMAR.SI.CONJUNTO(H2:H81;A2:A81;\">=\"&FECHA(2026;8;1);A2:A81;\"<=\"&FECHA(2026;8;31)))/SUMAR.SI.CONJUNTO(H2:H81;A2:A81;\">=\"&FECHA(2026;8;1);A2:A81;\"<=\"&FECHA(2026;8;31))"]
    },
    {
      "id": 7,
      "hoja": "Ventas",
      "accion": "Necesito cuántas ventas fueron de más de $100.000, sin IVA.",
      "situacion": "Quieres contar cuántas ventas fueron de más de 100.000 pesos.",
      "tipo": "entero",
      "tolerancia": "exacta",
      "referencia": "=CONTAR.SI(H2:H81;\">100000\")",
      "errores": ["=CONTAR.SI(H2:H81;\">=100000\")", "=SUMAR.SI(H2:H81;\">100000\")"]
    },
    {
      "id": 8,
      "hoja": "Ventas",
      "accion": "Necesito la venta más alta de Ana Rojas, por su total sin IVA.",
      "situacion": "Quieres la venta más alta de Ana Rojas.",
      "tipo": "entero",
      "tolerancia": "exacta",
      "referencia": "=MAX.SI.CONJUNTO(H2:H81;B2:B81;\"Ana Rojas\")",
      "errores": ["=MAX(H2:H81)", "=MAX.SI.CONJUNTO(G2:G81;B2:B81;\"Ana Rojas\")"]
    },
    {
      "id": 9,
      "hoja": "Ventas",
      "accion": "Necesito el promedio del total sin IVA de las ventas de la categoría Snacks.",
      "situacion": "Quieres el promedio de las ventas de la categoría Snacks.",
      "tipo": "decimal",
      "tolerancia": 0.005,
      "referencia": "=PROMEDIO.SI(E2:E81;\"Snacks\";H2:H81)",
      "errores": ["=PROMEDIO(H2:H81)", "=PROMEDIO.SI(E2:E81;\"Snacks\";G2:G81)"]
    },
    {
      "id": 10,
      "hoja": "Ventas",
      "accion": "Necesito cuántos productos distintos se vendieron.",
      "situacion": "Quieres saber cuántos productos distintos se vendieron.",
      "tipo": "entero",
      "tolerancia": "exacta",
      "referencia": "=CONTARA(UNICOS(D2:D81))",
      "errores": ["=CONTARA(D2:D81)", "=12"]
    },
    {
      "id": 11,
      "hoja": "Notas",
      "accion": "Necesito la nota final de Valentina Ríos, con 30 % del corte 1, 30 % del corte 2 y 40 % del corte 3, sin redondear.",
      "situacion": "Quieres la nota final de Valentina Ríos, con 30 %, 30 % y 40 %.",
      "tipo": "decimal",
      "tolerancia": 0.005,
      "referencia": "=SUMAPRODUCTO((A2:A31=\"Valentina Ríos\")*(B2:B31*0,3+C2:C31*0,3+D2:D31*0,4))",
      "errores": ["=SUMAPRODUCTO((A2:A31=\"Valentina Ríos\")*(B2:B31+C2:C31+D2:D31)/3)", "=SUMAPRODUCTO((A2:A31=\"Valentina Ríos\")*(B2:B31*0,4+C2:C31*0,3+D2:D31*0,3))"]
    },
    {
      "id": 12,
      "hoja": "Notas",
      "accion": "Necesito cuántos estudiantes aprobaron, con nota final de 3,0 o más (30 % del corte 1, 30 % del corte 2 y 40 % del corte 3, sin redondear).",
      "situacion": "Quieres saber cuántos estudiantes aprobaron, con nota final de 3,0 o más (30 %, 30 % y 40 %).",
      "tipo": "entero",
      "tolerancia": "exacta",
      "referencia": "=SUMAPRODUCTO(--(B2:B31*0,3+C2:C31*0,3+D2:D31*0,4>=3))",
      "errores": ["=SUMAPRODUCTO(--(B2:B31*0,3+C2:C31*0,3+D2:D31*0,4>3))", "=CONTAR.SI(D2:D31;\">=3\")"]
    },
    {
      "id": 13,
      "hoja": "Notas",
      "accion": "Necesito la calificación en palabras de Sara Molina según su nota final (30 % del corte 1, 30 % del corte 2 y 40 % del corte 3): Excelente si es de 4,5 o más; Bueno, de 4,0 o más; Aceptable, de 3,0 o más, e Insuficiente, por debajo de 3,0.",
      "situacion": "Quieres poner en palabras la nota final de Sara Molina (30 %, 30 % y 40 %): Excelente desde 4,5; Bueno desde 4,0; Aceptable desde 3,0, e Insuficiente por debajo.",
      "tipo": "texto",
      "tolerancia": "exacta",
      "referencia": "=LET(n;SUMAPRODUCTO((A2:A31=\"Sara Molina\")*(B2:B31*0,3+C2:C31*0,3+D2:D31*0,4));SI(n>=4,5;\"Excelente\";SI(n>=4;\"Bueno\";SI(n>=3;\"Aceptable\";\"Insuficiente\"))))",
      "errores": ["=LET(n;SUMAPRODUCTO((A2:A31=\"Sara Molina\")*(B2:B31*0,3+C2:C31*0,3+D2:D31*0,4));SI(n>4,5;\"Excelente\";SI(n>4;\"Bueno\";SI(n>3;\"Aceptable\";\"Insuficiente\"))))"]
    },
    {
      "id": 14,
      "hoja": "Notas",
      "accion": "Necesito el promedio del curso en el corte 2.",
      "situacion": "Quieres el promedio del curso en el segundo corte.",
      "tipo": "decimal",
      "tolerancia": 0.005,
      "referencia": "=PROMEDIO(C2:C31)",
      "errores": ["=PROMEDIO(B2:B31)", "=PROMEDIO(C2:C30)"]
    },
    {
      "id": 15,
      "hoja": "Notas",
      "accion": "Necesito el nombre del estudiante con la nota más alta del corte 3.",
      "situacion": "Quieres el nombre del estudiante con la nota más alta del tercer corte.",
      "tipo": "texto",
      "tolerancia": "exacta",
      "referencia": "=INDICE(A2:A31;COINCIDIR(MAX(D2:D31);D2:D31;0))",
      "errores": ["=MAX(D2:D31)", "=INDICE(A2:A31;COINCIDIR(MAX(C2:C31);C2:C31;0))"]
    },
    {
      "id": 16,
      "hoja": "Festivos",
      "accion": "Necesito cuántos días hábiles hay entre la fecha inicial y la final, contando las dos, sin sábados, domingos ni festivos.",
      "situacion": "Quieres saber cuántos días hábiles hay entre la fecha inicial y la final, sin contar los festivos.",
      "tipo": "entero",
      "tolerancia": "exacta",
      "referencia": "=DIAS.LAB(C2;D2;A2:A19)",
      "errores": ["=DIAS.LAB(C2;D2)", "=D2-C2"]
    },
    {
      "id": 17,
      "hoja": "Festivos",
      "accion": "Necesito la fecha de entrega: 10 días hábiles después de la fecha del pedido, sin contar la del pedido, sin sábados, domingos ni festivos.",
      "situacion": "Quieres la fecha de entrega: 10 días hábiles después de la fecha del pedido, sin contar los festivos.",
      "tipo": "fecha",
      "tolerancia": "exacta",
      "referencia": "=DIA.LAB(E2;10;A2:A19)",
      "errores": ["=DIA.LAB(E2;10)", "=E2+10"]
    },
    {
      "id": 18,
      "hoja": "Festivos",
      "accion": "Necesito cuántos días calendario hay desde la fecha inicial hasta la final, sin contar la inicial.",
      "situacion": "Quieres saber cuántos días hay entre la fecha inicial y la final.",
      "tipo": "entero",
      "tolerancia": "exacta",
      "referencia": "=D2-C2",
      "errores": ["=D2-C2+1", "=DIAS.LAB(C2;D2;A2:A19)"]
    },
    {
      "id": 19,
      "hoja": "Contactos",
      "accion": "Necesito el usuario del correo de la celda C7: lo que va antes de la arroba.",
      "situacion": "Quieres sacar el usuario del correo de la celda C7 (lo que va antes de la @).",
      "tipo": "texto",
      "tolerancia": "exacta",
      "referencia": "=IZQUIERDA(C7;ENCONTRAR(\"@\";C7)-1)",
      "errores": ["=IZQUIERDA(C7;ENCONTRAR(\"@\";C7))", "=EXTRAE(C7;ENCONTRAR(\"@\";C7)+1;50)"]
    },
    {
      "id": 20,
      "hoja": "Contactos",
      "accion": "Necesito el nombre y el apellido de la fila 7 en una sola celda, separados por un espacio.",
      "situacion": "Quieres juntar el nombre y el apellido de la fila 7 en una sola celda.",
      "tipo": "texto",
      "tolerancia": "exacta",
      "referencia": "=A7&\" \"&B7",
      "errores": ["=A7&B7", "=B7&\" \"&A7"]
    }
  ],
  "piloto": {
    "nota": "La prueba piloto: cinco comandos en la versión B, sobre tareas que no se miden, para medir el tiempo y ensayar la recogida. Sus respuestas no cuentan.",
    "tareas": [
      { "id": "P1", "hoja": "Ventas", "accion": "Necesito el total de unidades vendidas." },
      { "id": "P2", "hoja": "Ventas", "accion": "Necesito cuántas ventas hizo Carlos Pérez." },
      { "id": "P3", "hoja": "Notas", "accion": "Necesito la nota más baja del corte 1." },
      { "id": "P4", "hoja": "Festivos", "accion": "Necesito el día de la semana de la fecha del pedido, en palabras." },
      { "id": "P5", "hoja": "Contactos", "accion": "Necesito el apellido de la fila 3, en mayúsculas." }
    ]
  }
}
