Introduce la longitud del listón, el ancho de corte y la longitud y la cantidad de cada pieza (8 tipos como máximo; se ignoran las filas sin longitud). El precio de un listón puede quedar vacío.
Índice
-
Qué puedes hacer en esta página
-
¿Para qué sirve este cálculo?
-
Cómo usar
-
Fórmulas y esquemas
-
Símbolos y términos
-
Qué conviene saber de antemano
-
Cómo calcularlo con Excel
-
Cómo calcularlo con Hojas de cálculo de Google
-
Cómo calcularlo con Python
-
La fórmula en LaTeX y otras notaciones matemáticas (para copiar)
-
Cómo pedirle a ChatGPT que haga el cálculo
-
Las ventajas de DataChef
-
Funciones relacionadas
-
Todas las calculadoras de NumberChef
Qué puedes hacer en esta página
- Introduce la longitud del listón (2,4 m, 3 m, 4 m…) y la longitud y la cantidad de cada pieza que hay que cortar (hasta 8 tipos) y sabrás al instante cuántos listones tienes que comprar
- Se cuenta el ancho de corte (el grosor de la hoja de sierra, 3 mm por defecto): así no hay sorpresas del tipo «cuatro piezas de 600 mm en un listón de 2400 mm» (en realidad solo caben tres)
- El reparto coloca primero las piezas más largas (First Fit Decreasing); si hay 60 piezas o menos en total, busca además la combinación que usa menos listones. Obtienes un plan de corte del tipo «Listón 1: Pata × 2, sobrante 394 mm» y un esquema de barras para cada listón
- El cálculo simple (cada tipo de pieza cortado en sus propios listones) se muestra al lado, para ver cuántos listones ahorra el despiece agrupado. La comparación con el mínimo teórico (cota inferior) indica si el reparto es óptimo (no se puede mejorar) o aproximado
- Indica el precio de un listón (opcional) para obtener el coste estimado y el ahorro conseguido. En esta página también tienes las fórmulas explicadas de forma sencilla y fórmulas para copiar y pegar en Excel, Hojas de cálculo de Google y Python
¿Para qué sirve este cálculo?
Por ejemplo, para fabricar una mesa alta con cuatro patas de 1000 mm, dos tablas de 600 mm y dos barras de 400 mm (los travesaños inferiores) con listones de 2,4 m, comprar listones separados para cada pieza pide 4, pero el despiece agrupado con las piezas más largas primero solo pide 3 (listón 1: patas × 2, listón 2: patas × 2, listón 3: tablas × 2 + barras × 2, sobrante 388 mm).
Hacer la cuenta antes de ir a la tienda evita una segunda visita porque falta un listón, o restos que no sabes dónde guardar. Si haces cortar en la tienda, el plan de corte permite dar todos los cortes de una vez.
En los trabajos que usan «muchas piezas de la misma longitud», como los rastreles de una tarima o los travesaños de una valla, los cortes se acumulan y cambian la cuenta. Por ejemplo, para cortar travesaños de 600 mm de listones de 2400 mm, cuatro caben justos sin ancho de corte, pero con 3 mm \(4 \times 600 + 3 \times 3 = 2409\) mm: faltan 9 mm para el cuarto, y solo caben 3 por listón. Para 40 travesaños, hacen falta \(\lceil 40 \div 3 \rceil = 14\) listones, no 10.
Basta pasar de 600 mm a 597 mm para colocar 4 por listón y volver a 10 listones: comprobar desde el diseño «cuántas piezas de esta longitud caben en un listón» puede ahorrar mucho material.
Los tubos de PVC (por ejemplo, en barras de 3 m), los tubos y canaletas eléctricos, los perfiles de aluminio, las barras de cortina y todo lo que «se vende en longitud fija y se corta a medida» se calculan con las mismas fórmulas que la madera. Por ejemplo, cortar tres trozos de 1200 mm, tres de 900 mm y dos de 600 mm de tubos de PVC de 3 m (con el ancho de corte a 0) pide 3 tubos con el despiece agrupado (4 comprando por separado).
El ancho de corte, en cambio, es casi nulo con un cortatubos y de aproximadamente 1 mm con una sierra de arco, según la herramienta: adapta el ancho de corte a la tuya.
En un taller, el material pesa mucho en el coste: la parte del material que se convierte en producto se sigue como aprovechamiento. El «Aprovechamiento» de esta página es la longitud total de las piezas dividida entre la longitud total de los listones comprados; se acerca al 100 % cuando disminuyen los sobrantes y los cortes.
Los talleres de verdad reparten cientos de tipos de pieza en miles de listones con programas de optimización de corte que resuelven el mismo «problema del empaquetado» que esta página. First Fit Decreasing, que coloca primero las más largas, es un método clásico para establecer un primer plan de despiece.
Los rodapiés (abajo en las paredes) y las molduras (arriba) se venden en longitudes como 2,4 m y se cortan a la longitud de cada pared. Por ejemplo, para colocar rodapiés de 2,4 m en una habitación cuyas paredes miden 1500 mm, 1300 mm, 1500 mm y 1300 mm (con las puertas ya descontadas), un trozo de 1500 y uno de 1300 no caben en un mismo rodapié: incluso el despiece agrupado pide 4 piezas (la cota inferior es 3, pero no se puede alcanzar).
En cuanto una sola pared supera la mitad de la longitud del listón, ya no se puede reducir la cuenta: esto ayuda a decidir pronto si hay que aceptar empalmes (cortes a inglete) o elegir otra longitud de pieza.
Fórmulas y esquemas
Símbolos y términos
Símbolos
| \(L\) | ele mayúscula | La longitud del listón (mm), es decir, la longitud de una pieza de madera comprada. Inicial de «longitud», en mayúscula para distinguirla de la longitud de la pieza \(l\). |
| \(l\), \(l_i\) | ele minúscula, ele sub i | La longitud de una pieza (un trozo que hay que cortar, en mm). La \(i\) de \(l_i\) es el número del \(i\)-ésimo tipo de pieza (hay varios: patas, tablas, barras). |
| \(k\) | ka | El ancho de corte (el grosor de la hoja de sierra, en mm). Cada corte quita esa longitud de madera. Inicial de «kerf», la palabra inglesa para el ancho de corte. |
| \(m\), \(m_i\) | eme, eme sub i | El número de piezas que se pueden cortar de un listón. Se calcula con \(m = \lfloor (L + k) \div (l + k) \rfloor\). |
| \(q_i\) | cu sub i | La cantidad necesaria de la pieza \(i\). Inicial de «cantidad». |
| \(B_i\), \(B_{\text{sep}}\) | be sub i, be sub sep | \(B_i\) es el número de listones necesarios solo para la pieza \(i\) (\(\lceil q_i \div m_i \rceil\)). \(B_{\text{sep}}\) es el total cuando cada pieza se compra por separado (la suma de los \(B_i\)). |
| \(B\) | be | El número de listones necesarios con el despiece agrupado (las piezas más largas primero). Es el valor principal de esta página. |
| \(n\) | ene | El número de piezas cortadas de un listón dado. Inicial de «número». En la fórmula del sobrante, indica cuántos cortes hay que restar. |
| \(w\) | uve doble | El sobrante de un listón (la longitud que no se usa, en mm). Inicial de «waste», la palabra inglesa para el desperdicio. |
| \(B_{\min}\) | be sub mín | El número mínimo teórico de listones (cota inferior). Se calcula con \(\lceil \sum_i q_i (l_i + k) \div (L + k) \rceil\); si el número del despiece agrupado \(B\) es igual, el reparto es óptimo. «mín» es la abreviatura de mínimo. |
| \(\Delta\) | delta | Los listones que se ahorran, \(B_{\text{sep}} - B\). La letra griega delta se usa a menudo para anotar una diferencia (corresponde a la d de «diferencia»). |
| \(u\) | u | El precio de un listón (€). Inicial de «unitario» (precio unitario). |
| \(T\) | te | El coste estimado (€). Inicial de «total». Solo la madera, sin el corte en tienda ni el transporte. |
| \(\lfloor x \rfloor\) | parte entera de x | El símbolo que redondea al entero inferior (parte entera). Ejemplo: \(\lfloor 2{,}40 \rfloor = 2\), \(\lfloor 3 \rfloor = 3\). El número de piezas que se pueden cortar deja fuera lo que no cabe, de ahí este símbolo. |
| \(\lceil x \rceil\) | función techo de x | El símbolo que redondea al entero superior. Ejemplo: \(\lceil 2{,}51 \rceil = 3\), \(\lceil 2 \rceil = 2\). El número de listones que hay que comprar añade un listón en cuanto falta un poco, de ahí este símbolo. |
| \(\sum\) | sigma | El símbolo que significa «sumar todo». \(\sum_i q_i (l_i + k)\) significa calcular \(q_i (l_i + k)\) para cada tipo de pieza \(i\) y sumarlo todo. Es la letra griega sigma, que corresponde a la S de «suma». |
Términos
| longitud del listón | La longitud estándar en que se venden la madera, el acero, los tubos, etc. (también se dice longitud comercial). En España, los listones de pino se venden, por ejemplo, en 2,4 m y en 3 m (según los productos de Leroy Merlin España consultados; otras longitudes, como 2 m o 4 m, dependen del producto). |
| ancho de corte | La anchura de madera que quita la hoja en cada corte. Una hoja de sierra circular suele medir entre 1,5 y 3 mm, y es habitual contar unos 3 mm con las astillas y la raya del lápiz. Si conoces el grosor de tu hoja (suele estar grabado en ella), escríbelo. Se acumula en cada corte, así que cuenta sobre todo cuando se cortan muchas piezas cortas. |
| despiece | En carpintería, la lista de las piezas que hay que cortar con sus medidas y la forma de sacarlas de los listones o de las tablas (lista de despiece, plan de corte). Esta página trata el despiece en una dimensión, solo en longitud, no los cortes en dos dimensiones de los tableros de contrachapado. |
| sobrante | El trozo de material que queda una vez cortadas las piezas, en el extremo de un listón. Cuantos menos sobrantes, menos material se desperdicia y mayor es el aprovechamiento. |
| despiece agrupado | Cortar distintos tipos de pieza del mismo listón, colocando otras piezas en el resto en lugar de tener listones separados «para las patas» y «para los tablas». Suele usar menos listones que comprar por tipo de pieza, y el plan de corte de esta página muestra cómo hacerlo. |
| First Fit Decreasing (FFD) | Un método que coloca los objetos «del más grande al más pequeño (Decreasing), en el primer sitio donde caben (First Fit)». Es un método aproximado clásico del problema del empaquetado, que se usa para el despiece agrupado de esta página. Es sencillo, da buenos resultados y se queda como mucho en aproximadamente 1,22 veces el mínimo más 1, pero no siempre encuentra el mínimo. Cuando no alcanza la cota inferior, esta calculadora busca el menor número de listones por ramificación y poda (hasta 60 piezas). |
| problema del empaquetado (bin packing) | El problema de colocar objetos de tamaños distintos en cajas de tamaño fijo usando el menor número posible de cajas (en inglés, bin packing). Cortar piezas de listones (listones = cajas, piezas = objetos) es su versión en una dimensión. Con muchos objetos, el trabajo para hallar la mejor colocación crece muy deprisa; en la práctica se usan mucho métodos aproximados clásicos como el FFD. |
| ramificación y poda | Un método de búsqueda (branch and bound en inglés) que prueba las combinaciones separándolas en ramas y abandona toda rama que no pueda mejorar el mejor resultado ya hallado: así se encuentra la solución óptima sin probarlo todo. En esta página, cada forma de llenar un listón es una rama, y se abandonan las ramas en las que «listones usados + cota inferior de las piezas restantes» alcanza el mejor resultado. |
| aprovechamiento | La parte del material que acaba en las piezas (rendimiento del material). En esta página es «longitud total de las piezas ÷ longitud total de los listones comprados»; se acerca al 100 % cuando disminuyen los sobrantes y los cortes. |
| cota inferior | Un valor «por debajo del cual no se puede bajar, sea cual sea el truco». El mínimo teórico de esta página es una cota inferior; si el reparto la alcanza, es óptimo. Pero no siempre se puede alcanzar (tres piezas de 1250 mm de listones de 2400 mm dan una cota inferior de 2, pero hacen falta 3 listones). |
| solución óptima | La mejor respuesta entre todas las formas posibles. En esta página es «el reparto que usa menos listones». Si el despiece agrupado alcanza la cota inferior, es óptimo. Si no, también lo es cuando el examen de todas las combinaciones confirma que no se pueden usar menos listones. |
| sección | Las dimensiones del extremo de una pieza de madera, por ejemplo 21 × 44 mm para un listón de pino tratado o 60 × 27 mm para un listón cepillado. La longitud se vende tal como se anuncia (un listón de 2,4 m mide 2400 mm). |
| listón | Una barra de madera de sección pequeña, cuadrada o rectangular (por ejemplo, 21 × 44 mm en pino tratado), la pieza de madera más fácil de encontrar en una tienda de bricolaje para estructuras y muebles pequeños. Se vende sobre todo en 2,4 m y en 3 m. |
Qué conviene saber de antemano
Esto es lo que ayuda a usar el cálculo de esta página entendiéndolo de verdad, y no solo pulsando el botón.
| División con resto (3.º y 4.º de Primaria, 8-10 años) |
|
| Redondeo (4.º de Primaria, 9-10 años) |
|
| División de decimales (5.º y 6.º de Primaria, 10-12 años) |
|
| Expresiones algebraicas e inecuaciones (1.º y 2.º de ESO, 12-14 años) |
|
| Proporciones y porcentajes (5.º y 6.º de Primaria, 10-12 años) |
|
Cómo calcularlo con Excel
| Longitud del listón (mm) | 2400 |
| Longitud de la pieza (mm) | 1000 |
| Ancho de corte (mm) | 3 |
| Piezas por listón | =ENTERO((B1+B3)/(B2+B3)) |
| Cantidad de la pieza | 4 |
| Piezas por listón | 2 |
| Listones necesarios | =REDONDEAR.MAS(B1/B2;0) |
| Longitud del listón (mm) | 2400 |
| Longitud total de las piezas cortadas del listón (mm) | 2000 |
| Piezas cortadas del listón | 4 |
| Ancho de corte (mm) | 3 |
| Sobrante (mm) | =MAX(0;B1-B2-B3*B4) |
| Suma de (longitud + ancho de corte) de todas las piezas (mm) | 6024 |
| Longitud del listón + ancho de corte (mm) | 2403 |
| Mínimo teórico | =REDONDEAR.MAS(B1/B2;0) |
| Listones comprando por separado | 4 |
| Listones con el despiece agrupado | 3 |
| Precio de un listón (€) | 3,5 |
| Listones que se ahorran | =B1-B2 |
| Coste estimado (€) | =B3*B2 |
«ENTERO(valor)» es la función que redondea al entero inferior (⌊ ⌋ en las fórmulas) y «REDONDEAR.MAS(valor; 0)» redondea al entero superior (⌈ ⌉).
B4 de la primera tabla vale 2, B3 de la segunda 2, B5 de la tercera 388 mm, B3 de la cuarta 3, y la quinta da 1 listón ahorrado y un coste de 10,50 €.
El reparto «las más largas primero» en sí consiste en ordenar las piezas de la más larga a la más corta y asignarlas a los listones una a una, un trabajo manual en una hoja de cálculo. Usa la hoja de cálculo para comprobar las piezas por listón, los sobrantes y la cota inferior, y esta página o el código Python de abajo para el plan de corte.
Cómo calcularlo con Hojas de cálculo de Google
| Longitud del listón (mm) | 2400 |
| Longitud de la pieza (mm) | 1000 |
| Ancho de corte (mm) | 3 |
| Piezas por listón | =ENTERO((B1+B3)/(B2+B3)) |
| Cantidad de la pieza | 4 |
| Piezas por listón | 2 |
| Listones necesarios | =REDONDEAR.MAS(B1/B2;0) |
| Longitud del listón (mm) | 2400 |
| Longitud total de las piezas cortadas del listón (mm) | 2000 |
| Piezas cortadas del listón | 4 |
| Ancho de corte (mm) | 3 |
| Sobrante (mm) | =MAX(0;B1-B2-B3*B4) |
| Suma de (longitud + ancho de corte) de todas las piezas (mm) | 6024 |
| Longitud del listón + ancho de corte (mm) | 2403 |
| Mínimo teórico | =REDONDEAR.MAS(B1/B2;0) |
| Listones comprando por separado | 4 |
| Listones con el despiece agrupado | 3 |
| Precio de un listón (€) | 3,5 |
| Listones que se ahorran | =B1-B2 |
| Coste estimado (€) | =B3*B2 |
Cómo calcularlo con Python
import math
stock_length = 2400 # longitud del listón (mm). Un listón de 2,4 m
kerf = 3 # ancho de corte (grosor de la hoja, mm)
unit_price = 3.50 # precio de un listón (€)
# piezas que cortar: (nombre, longitud en mm, cantidad)
parts = [("Pata", 1000, 4), ("Tabla", 600, 2), ("Barra", 400, 2)]
# listones comprando cada pieza por separado (se divide entre las piezas por listón y se redondea hacia arriba)
stocks_separate = 0
for name, length, qty in parts:
per_stock = (stock_length + kerf) // (length + kerf) # redondeo hacia abajo (el ⌊ ⌋ de la fórmula)
stocks_separate += math.ceil(qty / per_stock) # redondeo hacia arriba (el ⌈ ⌉ de la fórmula)
# despiece agrupado: las piezas más largas primero, en el primer listón donde caben (First Fit Decreasing)
items = sorted([(length, name) for name, length, qty in parts for _ in range(qty)], key=lambda t: -t[0])
stocks = [] # un {"parts": [...], "remaining": longitud restante} por listón
for length, name in items:
for stock in stocks:
if length <= stock["remaining"]:
stock["parts"].append((name, length))
stock["remaining"] = max(0, stock["remaining"] - length - kerf)
break
else:
stocks.append({"parts": [(name, length)], "remaining": max(0, stock_length - length - kerf)})
# mínimo teórico (cota inferior)
lower_bound = math.ceil(sum(qty * (length + kerf) for name, length, qty in parts) / (stock_length + kerf))
print(f"Listones comprando cada pieza por separado: {stocks_separate}")
print(f"Listones con el despiece agrupado: {len(stocks)} (mínimo teórico {lower_bound})")
for i, stock in enumerate(stocks, 1):
names = " + ".join(f"{name} {length}" for name, length in stock["parts"])
print(f" Listón {i}: {names} sobrante {stock['remaining']} mm")
print(f"Listones que se ahorran: {stocks_separate - len(stocks)}")
print(f"Coste estimado: {unit_price * len(stocks):.2f} €")
La fórmula en LaTeX y otras notaciones matemáticas (para copiar)
m = ⌊(L + k) ÷ (l + k)⌋
m = \left\lfloor \frac{L + k}{l + k} \right\rfloor
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>m</mi>
<mo>=</mo>
<mo>⌊</mo>
<mfrac>
<mrow><mi>L</mi><mo>+</mo><mi>k</mi></mrow>
<mrow><mi>l</mi><mo>+</mo><mi>k</mi></mrow>
</mfrac>
<mo>⌋</mo>
</mrow>
</math>
m = |__ (L + k) / (l + k) __|
Floor[(L + k)/(l + k)]
m := floor((L + k)/(l + k));
m = floor((L + k)/(l + k));
m = ⌊(L + k)/(l + k)⌋
Bᵢ = ⌈qᵢ ÷ mᵢ⌉, B_sep = B₁ + B₂ + …
B_i = \left\lceil \frac{q_i}{m_i} \right\rceil,\quad B_{\text{sep}} = \sum_i B_i
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msub><mi>B</mi><mi>i</mi></msub>
<mo>=</mo>
<mo>⌈</mo>
<mfrac><msub><mi>q</mi><mi>i</mi></msub><msub><mi>m</mi><mi>i</mi></msub></mfrac>
<mo>⌉</mo>
<mo>,</mo>
<msub><mi>B</mi><mtext>sep</mtext></msub>
<mo>=</mo>
<munder><mo>∑</mo><mi>i</mi></munder>
<msub><mi>B</mi><mi>i</mi></msub>
</mrow>
</math>
B_i = |~ q_i / m_i ~|, B_"sep" = sum_i B_i
Total[Ceiling[q/m]]
B := add(ceil(q[i]/m[i]), i = 1 .. n);
B = sum(ceil(q ./ m));
B_i = ⌈q_i/m_i⌉, B_sep = ∑_i B_i
w = L − (l₁ + l₂ + … + lₙ) − n × k
w = L - \sum_{j=1}^{n} l_j - n k
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>w</mi>
<mo>=</mo>
<mi>L</mi>
<mo>−</mo>
<munderover><mo>∑</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover>
<msub><mi>l</mi><mi>j</mi></msub>
<mo>−</mo>
<mi>n</mi><mo>⁢</mo><mi>k</mi>
</mrow>
</math>
w = L - sum_(j=1)^n l_j - n k
L - Total[l] - Length[l]*k
w := L - add(l[j], j = 1 .. n) - n*k;
w = L - sum(l) - numel(l)*k;
w = L − ∑_(j=1)^n l_j − nk
Bmin = ⌈Σ qᵢ(lᵢ + k) ÷ (L + k)⌉
B_{\min} = \left\lceil \frac{\sum_i q_i (l_i + k)}{L + k} \right\rceil
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msub><mi>B</mi><mi>min</mi></msub>
<mo>=</mo>
<mo>⌈</mo>
<mfrac>
<mrow><munder><mo>∑</mo><mi>i</mi></munder><msub><mi>q</mi><mi>i</mi></msub><mo>(</mo><msub><mi>l</mi><mi>i</mi></msub><mo>+</mo><mi>k</mi><mo>)</mo></mrow>
<mrow><mi>L</mi><mo>+</mo><mi>k</mi></mrow>
</mfrac>
<mo>⌉</mo>
</mrow>
</math>
B_min = |~ (sum_i q_i (l_i + k)) / (L + k) ~|
Ceiling[Total[q*(l + k)]/(L + k)]
Bmin := ceil(add(q[i]*(l[i] + k), i = 1 .. n)/(L + k));
Bmin = ceil(sum(q .* (l + k))/(L + k));
B_min = ⌈(∑_i q_i (l_i + k))/(L + k)⌉
Δ = B_sep − B, T = u × B
\Delta = B_{\text{sep}} - B,\quad T = u \times B
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>Δ</mi>
<mo>=</mo>
<msub><mi>B</mi><mtext>sep</mtext></msub>
<mo>−</mo>
<mi>B</mi>
<mo>,</mo>
<mi>T</mi>
<mo>=</mo>
<mi>u</mi>
<mo>×</mo>
<mi>B</mi>
</mrow>
</math>
Delta = B_"sep" - B, T = u * B
{bSep - b, u*b}
Delta := Bsep - B; T := u*B;
Delta = Bsep - B; T = u*B;
Δ = B_sep − B, T = u × B
Cómo pedirle a ChatGPT que haga el cálculo
Eres un asistente de cálculo de despiece de madera para carpintería. Haz el siguiente cálculo ejecutando realmente código Python y basa tu respuesta únicamente en los números obtenidos al ejecutarlo (no respondas de memoria ni por estimación). De listones de 2400 mm, con un ancho de corte de 3 mm, corto cuatro patas de 1000 mm, dos tablas de 600 mm y dos barras de 400 mm. Calcula: 1. Para cada pieza, el número de piezas por listón ((2400 + 3) ÷ (longitud de la pieza + 3), redondeado al entero inferior) 2. El número total de listones si cada tipo de pieza se corta de sus propios listones (cantidad ÷ piezas por listón, redondeado al entero superior, y luego sumado) 3. El número de listones colocando primero las piezas más largas, cada una en el primer listón donde cabe (First Fit Decreasing), con las piezas y el sobrante de cada listón (cada pieza colocada reduce el resto del listón en «longitud + ancho de corte») 4. El número mínimo teórico de listones (suma de (longitud + ancho de corte) de todas las piezas ÷ (2400 + 3), redondeado al entero superior) Indica el código utilizado y los números obtenidos al ejecutarlo.
Cómo usar
-
1Introduce los númerosEscribe en los campos los números con los que quieres calcular
-
2CalculaHaz clic en el botón «Calcular»
-
3Consulta el resultadoEl resultado aparece al instante. En la misma página también encontrarás el desarrollo del cálculo y la explicación de la fórmula
Las ventajas de DataChef
Sin conocimientos técnicos: fácil e intuitivo
Sin necesidad de dar datos personales
Los archivos se borran automáticamente tras la descarga
Sin necesidad de atribución
Sin necesidad de pedir permiso