Busca en nuestra documentación, explora nuestros recursos y visita nuestro Foro de la Comunidad para obtener información más detallada
Última actualización: 23 Jun 2026
Los grupos repetidos en XLSForm te permiten hacer el mismo conjunto de preguntas varias veces dentro de un formulario. Esto es especialmente útil cuando recolectas información similar sobre varias personas, elementos o eventos.
Por ejemplo, si estás recopilando datos sobre cada miembro de un hogar, puedes usar un grupo de repetición para hacer las mismas preguntas demográficas a cada individuo.
Este artículo cubre los siguientes temas:
Crear un grupo de repetición
Configurar conteos de repetición para limitar el número de repeticiones
Contar el número de repeticiones dentro de un grupo de repetición
Recuperar valores de grupos repetidos
Nota: Este artículo se centra en los grupos repetidos en XLSForm. Para aprender sobre los grupos repetidos en el editor de formularios de KoboToolbox (Formbuilder) y ver ejemplos de grupos repetidos en acción, consulta Grupos y grupos de repetición en el Formbuilder.
Para crear un grupo de repetición en XLSForm:
En la columna type de la hoja survey, ingresa begin_repeat para indicar el inicio del grupo de repetición.
En la columna name de la fila begin_repeat, ingresa el identificador único del grupo.
En la columna label, ingresa el título del grupo tal como quieres que aparezca en el formulario. La etiqueta es opcional y puede dejarse en blanco.
Ingresa cada pregunta del grupo en su propia fila, como lo harías normalmente.
En una nueva fila después de las preguntas repetidas, ingresa end_repeat en la columna type para indicar el fin del grupo de repetición.
En la fila end_repeat, deja en blanco las columnas name y label.
hoja survey
type |
name |
label |
|---|---|---|
begin_repeat |
household_members |
Household Members |
text |
name |
What is the person’s name? |
integer |
age |
How old are they? |
select_one yn |
married |
Are they married? |
end_repeat |
||
survey |
Los grupos repetidos funcionan de manera similar a los grupos de preguntas. Con los grupos repetidos, puedes:
Usar la apariencia field-list para mostrar todas las preguntas en la misma página.
Agregar lógica de omisión a los grupos repetidos en la columna relevant.
Crear grupos repetidos anidados, donde un grupo de repetición se agrega dentro de otro.
Nota: Agregar grupos repetidos a tu formulario crea una estructura de datos diferente en comparación con las variables o grupos estándar. Cuando descargues tus datos en formato .xlsx, encontrarás una hoja separada para cada grupo de repetición. Para más información sobre cómo exportar y usar datos de grupos repetidos, consulta Gestión de datos de grupos repetidos.
De forma predeterminada, los grupos repetidos pueden repetirse tantas veces como sea necesario. Para limitar el número de veces que un grupo de repetición se repite en el formulario, puedes configurar un conteo de repetición. El conteo de repetición puede ser un número fijo o determinarse dinámicamente en función de una respuesta anterior.
Para configurar un número fijo de repeticiones:
Añade una columna repeat_count en la hoja survey.
Ingresa un número en la columna repeat_count.
hoja survey
type |
name |
label |
repeat_count |
|---|---|---|---|
begin_repeat |
participant_profile |
Participant profile |
3 |
text |
name |
Name |
|
select_one gender |
gender |
Gender |
|
integer |
age |
Age |
|
end_repeat |
|||
survey |
Para determinar dinámicamente el número de repeticiones en función de una respuesta anterior:
Añade una columna repeat_count en la hoja survey.
Ingresa la referencia a la pregunta en la columna repeat_count.
La pregunta referenciada debe ser del tipo de pregunta integer.
hoja survey
type |
name |
label |
repeat_count |
|---|---|---|---|
integer |
participants |
Total number of training participants |
|
begin_repeat |
participant_profile |
Participant profile |
${participants} |
text |
name |
Name |
|
select_one gender |
gender |
Gender |
|
integer |
age |
Age |
|
end_repeat |
|||
survey |
Nota: Dentro de la columna repeat_count, también puedes incluir declaraciones condicionales avanzadas para determinar si las repeticiones continuarán. Para más información, consulta la documentación de ODK.
Cuando usas grupos repetidos, es posible que necesites un campo que cuente cuántas veces se ha repetido el grupo. Esto puede ser útil para cálculos o lógica del formulario. Por ejemplo, puedes aplicar lógica de omisión después de una repetición específica o incluir dinámicamente el número de repetición en la etiqueta de una pregunta (por ejemplo, Niño 1, Niño 2).
Para contar cuántas veces se ha repetido un grupo de repetición:
Añade una pregunta calculate dentro del grupo de repetición.
Escribe position(..) en la columna calculation.
Esta variable almacena el índice de repetición actual. Puedes usarla en la lógica del formulario o para crear etiquetas de preguntas dinámicas.
hoja survey
type |
name |
label |
calculation |
relevant |
|---|---|---|---|---|
begin_repeat |
profile |
Participant profile |
||
calculate |
number |
position(..) |
||
note |
instructions |
Answer the questions below for each participant. |
${number} = 1 |
|
text |
name |
Name of participant ${number} |
||
select_one gender |
gender |
Gender of participant ${number} |
||
integer |
age |
Age of participant ${number} |
||
end_repeat |
||||
survey |
También puedes añadir una pregunta separada fuera del grupo de repetición para contar el número total de repeticiones. Esto es útil, por ejemplo, para confirmar el número de participantes o niños incluidos en el grupo de repetición.
Para contar cuántas veces se completó un grupo de repetición:
Añade una pregunta calculate después del grupo de repetición.
En la columna calculation, ingresa count(${repeat_group_name}), donde repeat_group_name es el nombre del grupo de repetición.
Esta variable almacena el número total de repeticiones del grupo. Puedes usarla en cálculos o para crear etiquetas de preguntas dinámicas en tu formulario.
hoja survey
type |
name |
label |
calculation |
|---|---|---|---|
begin_repeat |
children |
Children roster |
|
text |
name |
Name |
|
select_one gender |
gender |
Gender |
|
integer |
age |
Age |
|
end_repeat |
|||
calculate |
count_children |
count(${children}) |
|
acknowledge |
confirm_children |
Confirm that there are ${count_children} children in the household. |
|
survey |
Los formularios avanzados suelen usar referencias a preguntas para incluir respuestas de preguntas anteriores en etiquetas de preguntas, cálculos o lógica de omisión. También puedes usar referencias a preguntas dentro de grupos repetidos o para hacer referencia a datos repetidos en otras partes del formulario.
Dentro de un grupo de repetición, puedes hacer referencia a una respuesta de otra pregunta en la misma repetición usando referencias a preguntas, como se muestra a continuación.
hoja survey
type |
name |
label |
|---|---|---|
begin_repeat |
children |
Children roster |
text |
name |
What is the child’s name? |
integer |
age |
How old is ${name}? |
select_one gender |
married |
What is ${name}”s gender? |
end_repeat |
||
survey |
Fuera de un grupo de repetición, puedes recuperar datos del grupo de repetición para usarlos en la lógica del formulario o en etiquetas de preguntas:
Añade una pregunta calculate después de tu grupo de repetición.
Incluye una de las fórmulas que se indican a continuación en la columna calculation.
La pregunta calculate almacena el valor recuperado, que luego puedes usar en la lógica del formulario o en etiquetas de preguntas.
Fórmulas para recuperar datos de grupos repetidos
Fórmula |
Descripción |
|---|---|
|
Recupera el valor máximo ingresado para una pregunta en el grupo de repetición. |
|
Recupera el valor mínimo ingresado para una pregunta en el grupo de repetición. |
|
Calcula la suma de los valores numéricos ingresados para una pregunta en el grupo de repetición. |
|
Lista todas las respuestas a una pregunta determinada dentro de un grupo de repetición, separadas por punto y coma. |
|
Recupera el valor de |
hoja survey
type |
name |
label |
calculation |
|---|---|---|---|
begin_repeat |
children |
Children roster |
|
text |
name |
Name |
|
select_one gender |
gender |
Gender |
|
integer |
age |
Age |
|
end_repeat |
|||
calculate |
max_age |
max(${age}) |
|
acknowledge |
confirm_age |
Confirm that the oldest child in the household is ${max_age} years old. |
|
survey |
field-list. KoboCollect no admite grupos repetidos dentro de grupos con apariencia field-list. Los grupos repetidos deben aparecer en su propia página.
field-list del grupo principal.
¿Encontraste lo que buscabas? ¿La información fue clara? ¿Faltaba algo?
¡Comparte tus comentarios para ayudarnos a mejorar este artículo!
KoboToolbox es mantenido por Kobo Inc.