Categorizar transacciones bancarias en Excel

Tengo una lista exportada de transacciones bancarias en Excel, que me gustaría categorizar de la manera más rápida y sencilla posible. Sospecho que esto es posible solo con fórmulas matriciales, pero una función VBA sería igualmente útil.

El escenario

El encabezado de mi hoja de cálculo es así:

<code>| A    | B           | C      | D        |
==========================================
| Date | Description | Amount | Category |
------------------------------------------
</code>

La fecha, la descripción y la cantidad vienen de mi banco. Completo la categoría para cada transacción en la columna D.

Esto está bien, pero requiere mucho tiempo, porque cada categoría debe ingresarse individual y manualmente.

La necesidad

Quiero que las categorías se completen automáticamente en las filas donde no he ingresado una categoría manual, en base a las reglas que se generan y aplican dinámicamente.

La salida que quiero se ve así:

<code>| A        | B             | C       | D           | E         | F           |
==============================================================================
| Date     | Description   | Amount  | Manual cat. | Rule      | Auto cat.   |
------------------------------------------------------------------------------
| 04/08/12 | Starbucks NYC |  -$5.42 | Coffee      | starbucks | Coffee      |
| 04/09/12 | Wal-Mart 468  | -$54.32 | Supermarket | wal-mart  | Supermarket |
| 04/10/12 | Starbucks SF  |  -$3.68 |             |           | Starbucks   |
</code>

Como puede ver, ingresé a las categorías 'manual' en la Columna D. Siempre que hice esto, ingresé una 'regla' de categorización en la Columna E. Excel está utilizando mis entradas para completar automáticamente la Columna F,

La lógica es simple:

Cuando ingreso una categoría de manual, Excel hace dos cosas:

Rellena mi categoría de manual en la columna F.Cree una regla usando el texto ingresado en la Columna E.

Cuando Excel encuentra una descripción que contiene texto usado en una de mis reglas, llena la categoría relevante en la Columna F.

El beneficio

Esto haría que sea muy sencillo resumir la lista de transacciones, agregar categorías y reglas asociadas. Las transacciones sin una categoría se rellenarán automáticamente cuando se aplique una regla y se dejarán en blanco cuando no se aplique una regla. Las transacciones en las que se ha aplicado una regla que da la categoría incorrecta podrían corregirse, y se proporcionó una nueva regla.

Mi mejor intento hasta ahora

He creado una forma de hacerlo utilizando solo fórmulas, pero tiene tres inconvenientes:

Requiere la creación de tantas columnas como transacciones.No hay una manera conveniente de enumerar las categorías y las reglas asociadas.No hay forma de cambiar el orden en que se aplican las reglas.

Respuestas a la pregunta(4)

Su respuesta a la pregunta