# Any way to prevent case-sensitive matches?

**URL:** <https://community.glideapps.com/t/any-way-to-prevent-case-sensitive-matches/5315>\
**Category:** Ask for Help\
**Created:** [March 9, 2020, 11:42pm UTC](https://community.glideapps.com/t/any-way-to-prevent-case-sensitive-matches/5315 "2020-03-09T23:42:53Z")\
**Posts on this page:** 16\
**Page:** 1

<div class="post-metadata">

**Author:** ![kyleheney](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/kyleheney/32/41173_2.png) [@kyleheney](https://community.glideapps.com/u/kyleheney)\
**Post date:** [March 9, 2020, 11:42pm UTC](https://community.glideapps.com/t/any-way-to-prevent-case-sensitive-matches/5315/1 "2020-03-09T23:42:53Z")

</div>

I use the “Unique” function quite often to get a list of users from the App:Login sheet. The issue I’ve been having is that the Unique function is “too unique” haha. Sometimes a user will log in more than once and sometimes users log in and the first letter of their email address is capitalized. This shows as a unique value to my other sheets.

I’m curious what others do to prevent this behaviour. I can’t ensure that users always log in with the same case in their email addresses, so I’m looking for a way to take that possibility out of the equation.

---

<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:** [March 10, 2020, 12:07am UTC](https://community.glideapps.com/t/any-way-to-prevent-case-sensitive-matches/5315/2 "2020-03-10T00:07:59Z")

</div>

Use `=unique(lower())`

This will convert all values to lowercase before applying the unique filter

---

<div class="post-metadata">

**Author:** ![kyleheney](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/kyleheney/32/41173_2.png) [@kyleheney](https://community.glideapps.com/u/kyleheney)\
**Post date:** [March 10, 2020, 12:11am UTC](https://community.glideapps.com/t/any-way-to-prevent-case-sensitive-matches/5315/3 "2020-03-10T00:11:01Z")

</div>

Wow that’s so simple. Thank you!!

Edit @Robert_Petitto : doesn’t seem to be working for me. It isn’t populating all the values, just the first row.

My current formula: =UNIQUE(‘App: Logins’!B2:B)

I’ve tried =lower(unique('App:Logins!B2:B) to no avail.

I’ve tried =unique(lower('App:Logins!B2:B)) to no avail.

---

<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:** [March 10, 2020, 12:22am UTC](https://community.glideapps.com/t/any-way-to-prevent-case-sensitive-matches/5315/4 "2020-03-10T00:22:06Z")

</div>

Try this:  
`=UNIQUE(ARRAYFORMULA(LOWER(D2:D)))`

---

<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:** [March 10, 2020, 12:23am UTC](https://community.glideapps.com/t/any-way-to-prevent-case-sensitive-matches/5315/5 "2020-03-10T00:23:15Z")

</div>

Ah…ya. Probably need to throw an arrayformula in there.

---

<div class="post-metadata">

**Author:** ![kyleheney](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/kyleheney/32/41173_2.png) [@kyleheney](https://community.glideapps.com/u/kyleheney)\
**Post date:** [March 10, 2020, 12:25am UTC](https://community.glideapps.com/t/any-way-to-prevent-case-sensitive-matches/5315/6 "2020-03-10T00:25:09Z")

</div>

That seems to be the trick! Thank guys, much appreciated.

---

<div class="post-metadata">

**Author:** ![kyleheney](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/kyleheney/32/41173_2.png) [@kyleheney](https://community.glideapps.com/u/kyleheney)\
**Post date:** [March 10, 2020, 12:35am UTC](https://community.glideapps.com/t/any-way-to-prevent-case-sensitive-matches/5315/7 "2020-03-10T00:35:17Z")

</div>

My concern now is that filtering where @User is “signed-in user” may be off as that too relies on case-sensitive-ness. In my opinion, that filtering option shouldn’t care about case sensitivity, like how actual email addresses don’t worry about it.

---

<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:** [March 10, 2020, 1:00am UTC](https://community.glideapps.com/t/any-way-to-prevent-case-sensitive-matches/5315/8 "2020-03-10T01:00:10Z")

</div>

I don’t think it will be a problem. I think Glide takes care of that. I opened an incognito window and logged into my app with a mix of upper and lower case and the filters still recognize it’s me and matches everything that only has lower case.

---

<div class="post-metadata">

**Author:** ![kyleheney](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/kyleheney/32/41173_2.png) [@kyleheney](https://community.glideapps.com/u/kyleheney)\
**Post date:** [March 10, 2020, 1:20am UTC](https://community.glideapps.com/t/any-way-to-prevent-case-sensitive-matches/5315/9 "2020-03-10T01:20:40Z")

</div>

Okay good to know. The editor is a different story though (which is why I assumed this was an issue). If you use a different case in the “preview as” section of the editor, it doesn’t give correct results. Maybe this is the only issue.

---

<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:** [March 10, 2020, 2:13am UTC](https://community.glideapps.com/t/any-way-to-prevent-case-sensitive-matches/5315/10 "2020-03-10T02:13:04Z")

</div>

I’m not seeing the same issue with the Preview As. I can use mixed case and it still pick up my records.

---

<div class="post-metadata">

**Author:** ![kyleheney](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/kyleheney/32/41173_2.png) [@kyleheney](https://community.glideapps.com/u/kyleheney)\
**Post date:** [March 10, 2020, 2:44pm UTC](https://community.glideapps.com/t/any-way-to-prevent-case-sensitive-matches/5315/11 "2020-03-10T14:44:46Z")

</div>

Hmm weird it’s working fine for me too. I know this was happening though (or else I wouldn’t have made this post! Haha). I’ll keep an eye on it and post again if it happens again.

---

<div class="post-metadata">

**Author:** ![Tim\_Sullivan](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/tim_sullivan/32/3461_2.png) [@Tim\_Sullivan](https://community.glideapps.com/u/Tim_Sullivan)\
**Post date:** [March 10, 2020, 3:12pm UTC](https://community.glideapps.com/t/any-way-to-prevent-case-sensitive-matches/5315/12 "2020-03-10T15:12:32Z")

</div>

I used `=sort(unique(lower(D2:D)))` for mine. Sort handles the array for you.

---

<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:** [March 10, 2020, 3:37pm UTC](https://community.glideapps.com/t/any-way-to-prevent-case-sensitive-matches/5315/13 "2020-03-10T15:37:30Z")

</div>

They are watching us…  
Maybe they secretly fixed it since you last saw the issue.

---

<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:** [March 10, 2020, 3:44pm UTC](https://community.glideapps.com/t/any-way-to-prevent-case-sensitive-matches/5315/14 "2020-03-10T15:44:43Z")

</div>

Just be careful when using sort it unique for creating records from app:logins. If you delete records in app:logins or a new email causes it to sort differently, then you can get unsynced records in the sheet you are using the unique formula.

For example, if you are creating automatic per user profile records based on unique from the logins sheet…and then add additional columns to that profile sheet…then you run the risk of the emails not lining up with previously entered data when a new login occurs, or you clear out old records in the logins sheet.

---

<div class="post-metadata">

**Author:** ![Tim\_Sullivan](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/tim_sullivan/32/3461_2.png) [@Tim\_Sullivan](https://community.glideapps.com/u/Tim_Sullivan)\
**Post date:** [March 10, 2020, 3:52pm UTC](https://community.glideapps.com/t/any-way-to-prevent-case-sensitive-matches/5315/15 "2020-03-10T15:52:55Z")

</div>

Good point. In my case, I was only getting a count of unique email addresses that logged in to our app. I needed to separate the whitelist email addresses from the non-whitelist addresses. it was simply a data mining exercise.

---

<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:** [March 10, 2020, 4:10pm UTC](https://community.glideapps.com/t/any-way-to-prevent-case-sensitive-matches/5315/16 "2020-03-10T16:10:13Z")

</div>

Yeah…can’t wait for an enhancement to logins/profiles. I experience the same issue if I wanted to delete a user. Currently, I have to 1. Delete the row in the Profile Sheet and then 2. delete the user in App: Logins
