# ∑ Replacement for Hyperformula

**URL:** <https://community.glideapps.com/t/replacement-for-hyperformula/42332>\
**Category:** Ask for Help\
**Tags:** custom-code\
**Created:** [May 24, 2022, 3:34pm UTC](https://community.glideapps.com/t/replacement-for-hyperformula/42332 "2022-05-24T15:34:44Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![Mark](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/mark/32/125_2.png) [@Mark](https://community.glideapps.com/u/Mark)\
**Post date:** [May 24, 2022, 3:34pm UTC](https://community.glideapps.com/t/replacement-for-hyperformula/42332/1 "2022-05-24T15:34:44Z")

</div>

Our intern @chrisozgo has been working on a replacement for the Hyperformula column, which uses the [fast-formula-parser](https://www.npmjs.com/package/fast-formula-parser) package. That package implements a subset of the Excel formula language, so it might or might not be as useful as Hyperformula was for you, depending on your use case. Another limitation is that it only allows formulas in the “Formula” property, and not in any of the cell properties.

[https://column.sh/fast-formula-parser](https://column.sh/fast-formula-parser)

Please let us know if you find it useful, or if you find bugs, and hopefully we can include it in the “proper” list of code columns soon.

 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/2/4/24221675b9d79eca8fb3754da193cd4b980109d4.png)

---

<div class="post-metadata">

**Author:** ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)\
**Post date:** [May 24, 2022, 3:38pm UTC](https://community.glideapps.com/t/replacement-for-hyperformula/42332/2 "2022-05-24T15:38:04Z")

</div>

Cool! Will check it out.

---

<div class="post-metadata">

**Author:** ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)\
**Post date:** [May 24, 2022, 3:55pm UTC](https://community.glideapps.com/t/replacement-for-hyperformula/42332/3 "2022-05-24T15:55:28Z")

</div>

Most formulas work, here’s what I noticed when I started pushing it…

- `DATEVALUE` works, but not `DATEDIF`
- `NETWORKDAYS` returns `0` irregardless of the dates entered
- `Row()` returns `1`…would have been cool if it returned the actual row number in the Glide Table
- Looks like there is no `UPPER` even though there is a `LOWER` and a `PROPER`…oversight?

---

<div class="post-metadata">

**Author:** ![chrisozgo](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/chrisozgo/32/43060_2.png) [@chrisozgo](https://community.glideapps.com/u/chrisozgo)\
**Post date:** [May 24, 2022, 7:57pm UTC](https://community.glideapps.com/t/replacement-for-hyperformula/42332/4 "2022-05-24T19:57:53Z")

</div>

@Robert_Petitto Thanks for the feedback! I’ve attached some screenshots of `DATEDIF` and `NETWORKDAYS` working for me…perhaps your input format was wrong? Let me know if it’s an issue that still persists and I can do some additional digging.

As for the `UPPER` I’m working on implementing that right now! Thanks for bringing that to attention!

 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/d/0/d0df9bed78a339089a35d1d43cac1de27ac7bc8e.png)

---

<div class="post-metadata">

**Author:** ![chrisozgo](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/chrisozgo/32/43060_2.png) [@chrisozgo](https://community.glideapps.com/u/chrisozgo)\
**Post date:** [May 24, 2022, 7:58pm UTC](https://community.glideapps.com/t/replacement-for-hyperformula/42332/5 "2022-05-24T19:58:25Z")

</div>

![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/6/0/60acc27e9de46b7f925f007d5f66008663a4ced5.png)

---

<div class="post-metadata">

**Author:** ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)\
**Post date:** [May 24, 2022, 8:43pm UTC](https://community.glideapps.com/t/replacement-for-hyperformula/42332/6 "2022-05-24T20:43:45Z")

</div>

Does DATEDIF work if selecting a date time column? Do I need to wrap it in quotes?

---

<div class="post-metadata">

**Author:** ![chrisozgo](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/chrisozgo/32/43060_2.png) [@chrisozgo](https://community.glideapps.com/u/chrisozgo)\
**Post date:** [May 24, 2022, 9:26pm UTC](https://community.glideapps.com/t/replacement-for-hyperformula/42332/7 "2022-05-24T21:26:36Z")

</div>

@Robert_Petitto while `DATEDIF` it does not work for date time columns, I believe it also doesn’t work in Hyperformula, which is currently our standard for this feature. If you can get it to work using Hyperformula, that’s something we need to address immediately, if not it is more likely something we will address down the line.

---

<div class="post-metadata">

**Author:** ![gvalero](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/gvalero/32/1037_2.png) [@gvalero](https://community.glideapps.com/u/gvalero)\
**Post date:** [May 24, 2022, 10:03pm UTC](https://community.glideapps.com/t/replacement-for-hyperformula/42332/8 "2022-05-24T22:03:15Z")

</div>

Great!!

I tried with SUMIF (I didn’t know this formula was included 🙄) and it worked perfect.

 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/f/9/f921f0ec8ce30aa0d4cf675b85f7bd3cbc3164f2.png)

Thanks for your effort @chrisozgo !

---

<div class="post-metadata">

**Author:** ![Jeff\_Hager](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/jeff_hager/32/43_2.png) [@Jeff\_Hager](https://community.glideapps.com/u/Jeff_Hager)\
**Post date:** [May 24, 2022, 10:21pm UTC](https://community.glideapps.com/t/replacement-for-hyperformula/42332/9 "2022-05-24T22:21:58Z")

</div>

Could the A1, A2, A3, A4 parameter names be misleading to new users??? In a spreadsheet, that would indicate 1 column and 4 rows, whereas in glide it would be looking at 4 columns in 1 row. I’m just thinking that A1, B1, C1, D1 or something else might make a little more sense for people copying formulas directly from a spreadsheet. It might mislead them into thinking that they can specify a range of rows or separate rows instead of only the columns in the current row.

Plugins like the javascript column use parameter names that make a little more sense to me, because it uses the letter P (P1, P2, P3), which to me is just short for parameter1, parameter2, etc. That might not be as clear to users trying to port over existing formulas from their spreadsheet.

---

<div class="post-metadata">

**Author:** ![Mark](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/mark/32/125_2.png) [@Mark](https://community.glideapps.com/u/Mark)\
**Post date:** [May 25, 2022, 12:36am UTC](https://community.glideapps.com/t/replacement-for-hyperformula/42332/10 "2022-05-25T00:36:07Z")

</div>

@Jeff_Hager We tried to make it as similar to the Hyperformula column as possible, and that’s what how the original column worked. Doesn’t mean that we shouldn’t change it, of course…

---

<div class="post-metadata">

**Author:** ![gvalero](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/gvalero/32/1037_2.png) [@gvalero](https://community.glideapps.com/u/gvalero)\
**Post date:** [May 25, 2022, 4:01pm UTC](https://community.glideapps.com/t/replacement-for-hyperformula/42332/11 "2022-05-25T16:01:16Z")

</div>

Hola de nuevo,

I don’t know how complex can be what I am going to propose, but it will definitely give us more tools to solve some difficult cases and avoid creating more calculated columns.

What if Hyerformula’s parameters can **work/read array columns** and give a valid result? Please, don’t hate me @chrisozgo😇

Due to we can’t work and select a data range (rows) like a spreadsheet, use an array can give us a workaround for it. Here I show a hypothetical image of this wish by using the SUMIF() formula:

 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/0/9/09091225f6fc7d761af224046b718eb70fa5ccd3.png)

Maybe, this can’t be used in all formulas, but some like SUMIF() can be very useful.

Saludos!

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [May 25, 2022, 11:31pm UTC](https://community.glideapps.com/t/replacement-for-hyperformula/42332/12 "2022-05-25T23:31:50Z")

</div>

> [@gvalero](#):
>
> What if Hyerformula’s parameters can **work/read array columns** and give a valid result?

This is something I have wanted for a while.

---

<div class="post-metadata">

**Author:** ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)\
**Post date:** [May 26, 2022, 1:20am UTC](https://community.glideapps.com/t/replacement-for-hyperformula/42332/13 "2022-05-26T01:20:04Z")

</div>

Ya…been relying on joined list, but would love one less column

---

<div class="post-metadata">

**Author:** ![Mark](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/mark/32/125_2.png) [@Mark](https://community.glideapps.com/u/Mark)\
**Post date:** [May 31, 2022, 6:39pm UTC](https://community.glideapps.com/t/replacement-for-hyperformula/42332/14 "2022-05-31T18:39:21Z")

</div>

It just shipped.

 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/b/3/b36b92c45ad7497a8695211002dfc25497f6f5a8.png)

---

<div class="post-metadata">

**Author:** ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)\
**Post date:** [May 31, 2022, 6:59pm UTC](https://community.glideapps.com/t/replacement-for-hyperformula/42332/15 "2022-05-31T18:59:45Z")

</div>

Is there still a restricted list of possible formulas?

---

<div class="post-metadata">

**Author:** ![Mark](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/mark/32/125_2.png) [@Mark](https://community.glideapps.com/u/Mark)\
**Post date:** [May 31, 2022, 7:00pm UTC](https://community.glideapps.com/t/replacement-for-hyperformula/42332/16 "2022-05-31T19:00:58Z")

</div>

Yes, it’s still the same package.

---

<div class="post-metadata">

**Author:** ![Robert\_Petitto](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/robert_petitto/32/25193_2.png) [@Robert\_Petitto](https://community.glideapps.com/u/Robert_Petitto)\
**Post date:** [May 31, 2022, 7:08pm UTC](https://community.glideapps.com/t/replacement-for-hyperformula/42332/17 "2022-05-31T19:08:32Z")

</div>

Awesome. Here’s what I discovered when working with **dates** :

> **[My Fourth · Glide - 31 May 2022](https://www.loom.com/share/9f233800e5d14dba92a700e910b9cb15)**
