# Filter a table by words in a page

**URL:** <https://connect.superhuman.com/t/filter-a-table-by-words-in-a-page/55316>\
**Category:** Ask the Community\
**Created:** [April 18, 2025, 6:43am UTC](https://connect.superhuman.com/t/filter-a-table-by-words-in-a-page/55316 "2025-04-18T06:43:40Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![folex](https://yyz1.discourse-cdn.com/coda1/user_avatar/connect.superhuman.com/folex/32/46144_2.png) [@folex](https://connect.superhuman.com/u/folex)\
**Post date:** [April 18, 2025, 6:43am UTC](https://connect.superhuman.com/t/filter-a-table-by-words-in-a-page/55316/1 "2025-04-18T06:43:40Z")

</div>

## TL;DR

I need a formula to filter Table values by the Page’s Text contents. Something like `CurrentPage.Text.Contains(CurrentRow.Word)`

## Use case

I’m learning a language.

I have a big table for Vocabulary, it contains all the words I’ve learnt so far.

For every homework that I do, I have a separate page.

I want to add the Vocabulary table to a homework page, and filter by words used in the homework.

### Example of a Homework Page

_Title_: frogs.  
_Body_: Little frogs jump over big toads. Big toads run away from bullfrogs.  
_Filtered Vocabulary (4 entries)_:

- **Frog** – the standard term for the amphibian
- **Toad** – often used for frogs with drier, bumpier skin (e.g. cane toad)
- **Bullfrog** – a large frog species known for its deep call
- **Jump** – raise in air, leaping, useful to get over obstacles

### Explanation

The Vocabulary table contains many entries (1000+), but the Frogs Homework page uses only 4 words from the Vocabulary.

## Summary

I need a formula to filter Table values by the Page’s Text contents. Something like `CurrentPage.Text.Contains(CurrentRow.Word)`

Many thanks to the Coda Community for providing a wast resource of information! \<3

---

<div class="post-metadata">

**Author:** ![Christiaan\_Huizer](https://yyz1.discourse-cdn.com/coda1/user_avatar/connect.superhuman.com/christiaan_huizer/32/28269_2.png) [@Christiaan\_Huizer](https://connect.superhuman.com/u/Christiaan_Huizer)\
**Post date:** [April 18, 2025, 8:57am UTC](https://connect.superhuman.com/t/filter-a-table-by-words-in-a-page/55316/2 "2025-04-18T08:57:53Z")

</div>

## TL;DR

use the canvas column as page  
split the words on space `Split(" ")` and filter on a list of words

cheers, christiaan

---

<div class="post-metadata">

**Author:** ![folex](https://yyz1.discourse-cdn.com/coda1/user_avatar/connect.superhuman.com/folex/32/46144_2.png) [@folex](https://connect.superhuman.com/u/folex)\
**Post date:** [April 22, 2025, 7:49am UTC](https://connect.superhuman.com/t/filter-a-table-by-words-in-a-page/55316/3 "2025-04-22T07:49:27Z")

</div>

Hello! Thank you for the reply!

I’m not entirely sure I understand the suggested data relationship pattern here.

Once I added a canvas column – now every row has it’s own separate page. So relation ship between pages and rows is 1-1. 10 rows = 10 pages, is that correct?

However, I was aiming at the relationship 1 page =\> many rows & many pages =\> 1 row, ie 1 page may reference many rows, and many pages can reference the same row.

I’m not entirely sure how to model that with the Canvas Column approach.

Thank you!

---

<div class="post-metadata">

**Author:** ![folex](https://yyz1.discourse-cdn.com/coda1/user_avatar/connect.superhuman.com/folex/32/46144_2.png) [@folex](https://connect.superhuman.com/u/folex)\
**Post date:** [April 22, 2025, 7:54am UTC](https://connect.superhuman.com/t/filter-a-table-by-words-in-a-page/55316/4 "2025-04-22T07:54:08Z")

</div>

I’ve also tried to reference current page in the table’s Canvas Column, but I only see PageName among formulas. And that gives me just a string with the Homework’s name, not its content.

---

<div class="post-metadata">

**Author:** ![Christiaan\_Huizer](https://yyz1.discourse-cdn.com/coda1/user_avatar/connect.superhuman.com/christiaan_huizer/32/28269_2.png) [@Christiaan\_Huizer](https://connect.superhuman.com/u/Christiaan_Huizer)\
**Post date:** [April 22, 2025, 9:35am UTC](https://connect.superhuman.com/t/filter-a-table-by-words-in-a-page/55316/5 "2025-04-22T09:35:10Z")

</div>

> [@folex](#):
>
> Once I added a canvas column – now every row has it’s own separate page. So relation ship between pages and rows is 1-1. 10 rows = 10 pages, is that correct?

correct, but a pages understood as a canvas column

the pages you see on your screen we cannot reference for the task you have in mind

try writing a small text in the canvas column, the reference it like this:

`canvascolumn.split(" "). Filter(currentvalue.contains(list of words)).join(" ")`

this should do the job, if not maybe others are willing to help you out further.

cheers, christiaan

---

<div class="post-metadata">

**Author:** ![system](https://yyz1.discourse-cdn.com/coda1/user_avatar/connect.superhuman.com/system/32/24484_2.png) [@system](https://connect.superhuman.com/u/system)\
**Post date:** [July 21, 2025, 9:36am UTC](https://connect.superhuman.com/t/filter-a-table-by-words-in-a-page/55316/6 "2025-07-21T09:36:06Z")

</div>

Closed on July 21, 2025, 9:36am UTC

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.
