1. Faro

Nivel 3 · Códigos, slugs e indicadores de palabras clave

La solicitud

De Andrew Ramos, Gerente de marketing

“Tres cosas para las páginas de Decor y Textiles antes de la campaña de otoño: un código de seguimiento corto por producto como tex-161, un slug de URL a partir del nombre (en minúsculas, guiones en lugar de espacios) y un indicador en todo lo hecho con la palabra clave de I1. Empezamos con oak.”

Tu objetivo

En D2:D41, construye el código de seguimiento: las 3 primeras letras de la categoría en minúsculas, un guion y luego el product_id. En E2:E41, construye el slug: el nombre en minúsculas con cada espacio reemplazado por un guion. En F2:F41, devuelve "yes" cuando el nombre contenga la palabra clave de I1 como palabra completa, y en caso contrario "no" (usa IF, ISNUMBER y SEARCH).

  • Llena D2:F41 con los valores correctospendiente
  • Con fórmulas, no con números escritospendiente
  • Usa LOWER SUBSTITUTE SEARCH ISNUMBERpendiente

Tu hoja

Excel
La hoja de este nivel
ABCDEFGHIJ
1product_idnamecategorycodeslughas_keywordKeywordoak
2161Cove Jute Duvet CoverTextiles
3162Oakley Jute Knit ThrowTextiles
4163Pine Cotton Area RugTextiles
5164Cove Wool Lumbar PillowTextiles
6165Weston Cashmere-Blend QuiltTextiles
7166Harbor Wool Knit ThrowTextiles
8167Elm Cashmere-Blend Area RugTextiles
9168Upland Percale Lumbar PillowTextiles
10169Spruce Wool Duvet CoverTextiles
11170Rowan Cashmere-Blend Throw BlanketTextiles
12171Driftwood Percale Area RugTextiles
13172Maple Wool Throw PillowTextiles
14173Bramble Percale QuiltTextiles
15174Vale Cashmere-Blend Knit ThrowTextiles
16175Glen Cotton Runner RugTextiles
17176Fairhaven Cotton Throw PillowTextiles
18177Delancey Cashmere-Blend Duvet CoverTextiles
19178Sutton Wool Knit ThrowTextiles
20179Delancey Jute Area RugTextiles
21180Hazel Linen Throw PillowTextiles
22181Cedar Marble Bud VaseDecor
23182Nantucket Brass Wall MirrorDecor
24183Glen Glass Canvas PrintDecor
25184Thatcher Oak CandleDecor
26185Ridge Brass Bud VaseDecor
27186Birch Brass Floor MirrorDecor
28187Ashford Oak Canvas PrintDecor
29188Fern Oak Candle Holder SetDecor
30189Northfield Brass Bud VaseDecor
31190Elm Brass Floor MirrorDecor
32191Hazel Ceramic Canvas PrintDecor
33192Thatcher Marble Candle Holder SetDecor
34193Delancey Brass VaseDecor
35194Chester Brass Wall MirrorDecor
36195Fairhaven Soy Wax Framed PrintDecor
37196Pine Glass Candle Holder SetDecor
38197Ridge Soy Wax VaseDecor
39198Harbor Oak Floor MirrorDecor
40199Oakley Brass Framed PrintDecor
41200Cedar Ceramic CandleDecor
42
43

Cargando el editor…

    ResultadoPresiona Comprobar para comparar D2:F41

    Mote revisa tu resultado

    Presiona Comprobar. Cada celda correcta se vuelve una luciérnaga en tu linterna.

    La lección

    El ticket de Andrew son tres columnas, cada una construida con texto que ya está en la hoja. El truco en las tres no es una función nueva sino funciones dentro de funciones. Excel evalúa primero la más interna y entrega su respuesta hacia fuera, lo que te permite hacer en una celda lo que de otro modo llevaría dos o tres columnas auxiliares.

    Un código a partir de parte de una columna

    La categoría de C2 es Textiles. Andrew quiere tex-161:

    D2   =LOWER(LEFT(C2,3))&"-"&A2

    Léela desde dentro: LEFT(C2,3) es Tex, LOWER lo convierte en tex, y luego & añade un guion y el product_id. Estandarizar las mayúsculas es el sentido de LOWER aquí: si una exportación dice TEXTILES y otra Textiles, las dos siguen dando tex, y los códigos que deben coincidir coinciden. Los productos de Decor reciben dec-181 y así sucesivamente.

    Un slug con SUBSTITUTE

    SUBSTITUTE(text, old, new) reemplaza cada aparición de old por new:

    E2   =LOWER(SUBSTITUTE(B2," ","-"))

    Cove Jute Duvet Cover se convierte en cove-jute-duvet-cover. La fila 6, Weston Cashmere-Blend Quilt, ya tiene un guion; se queda, y el slug es weston-cashmere-blend-quilt. SUBSTITUTE acepta un cuarto argumento opcional para reemplazar solo una aparición: SUBSTITUTE(B2," ","-",1) cambia solo el primer espacio.

    El mismo anidado limpia texto libre como comentarios de reseñas. =TRIM(LOWER(review)) pasa el texto a minúsculas, quita los espacios de ambos extremos y reduce a uno las series de espacios internos, y envolver eso en SUBSTITUTE(…,"!!","!") corrige una costumbre para la que Excel no tiene función. El capítulo 5 trata por completo de esa clase de limpieza.

    ¿El nombre contiene una palabra?

    SEARCH(find, within) devuelve la posición donde empieza find, o #VALUE! cuando no está. ISNUMBER lo convierte en TRUE o FALSE, e IF en las palabras que quieres:

    =IF(ISNUMBER(SEARCH($I$1,B2)),"yes","no")

    Funciona en la fila 25, Thatcher Oak Candle. Ahora mira la fila 3: B3 es Oakley Jute Knit Throw, y oak está dentro de Oakley, así que la fórmula dice “yes” para una manta de yute. Lo mismo pasa en la fila 40, Oakley Brass Framed Print.

    La solución es buscar la palabra con un espacio a cada lado, dentro del nombre con un espacio añadido en cada extremo, para que una palabra al principio o al final del nombre siga teniendo espacios alrededor:

    F2   =IF(ISNUMBER(SEARCH(" "&$I$1&" "," "&B2&" ")),"yes","no")

    Ahora " oak " se encuentra en " Thatcher Oak Candle " pero no en " Oakley Jute Knit Throw ". Rellenada hacia abajo, 4 de los 40 productos reciben “yes”. Cambia I1 a brass y la columna lo sigue: 8 productos.

    FIND SEARCH
    Mayúsculas y minúsculas deben coincidir: FIND("oak","Oak") es #VALUE! se ignoran
    Comodines * y ? no sí

    Los nombres dicen Oak y la celda de la palabra clave dice oak, así que SEARCH es la correcta. Usa FIND cuando las mayúsculas importen, por ejemplo para distinguir el código ABC de abc.

    Errores comunes

    • Sin ISNUMBER. =IF(SEARCH(…),"yes","no") devuelve #VALUE! en cada fila sin la palabra, porque el error atraviesa IF.
    • Palabras parciales. oak coincide con Oakley, y elm coincidiría con Helmsley. Rellena con espacios cuando te refieras a una palabra completa.
    • LOWER en la pieza equivocada. =LEFT(LOWER(C2),3) también funciona, pero =LOWER(LEFT(C2),3) tiene el 3 en la función equivocada: cuenta los paréntesis.
    • Teclear la palabra clave dentro de la fórmula. Déjala en I1 y fíjala, así la próxima campaña queda a una celda de distancia.

    Elige qué puede ejecutarse en este sitio. Puedes cambiarlo cuando quieras desde "Configurar cookies", al pie de cada página.