Microsoft Office Forums

Go Back   Microsoft Office Forums > >

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #4  
Old 10-21-2023, 10:01 AM
joeu2004 joeu2004 is offline @ and "implicit intersections" Windows 7 64bit @ and "implicit intersections" Office 2010
Advanced Beginner
 
Join Date: Aug 2016
Posts: 32
joeu2004 is on a distinguished road
Default

Quote:
Originally Posted by MartinGM View Post
I am stuggling to understand the explanations about "implicit intersections"
Quote:
Originally Posted by MartinGM View Post
The odd thing is that none of my Workbooks have tables ! I guess I can just ignore the @ signs then.
Right! The @ signs that you see have nothing to do with Excel tables.

And in fact, calling it an "implicit" intersection operator is a misnomer, since obviously it is an explicit operator in recent versions of Excel.

Moreover, you cannot "just ignore" the @ signs.

-----

Historically, an "implicit" intersection might occur when we normally-enter (just press Enter) an expression like IF($A$1:$A$100=10, 123, 456) into any of rows 1 through 100.

Excel would "implicitly" interpret that as IF(A5=10, 123, 456) in row 5, for example.

And Excel would return a #VALUE error if expression were entered in any other row.

Moreover, that is why we had to array-enter expressions (press ctrl+shift+Enter) in some contexts. For example, PRODUCT(1+$A$1:$A$100) where our intent is (1+A1)*(1+A2)*...*(1+A100) instead of simply PRODUCT(1+A5) in row 5.

-----

Fast-forward to recent versions of Excel that support so-called "dynamic array awareness" starting with Excel 2016. (Another misnomer, since there is nothing necessarily "dynamic" about it.)

In such versions, SUM(IF($A$1:$A$100=10,123,456)) is "implicitly" interpreted as an array reference meaning IF(A1=10,123,456)+IF(A2=10,123,456)+...+IF(A100=10 ,123,456) by default.

So, if our intent were SUM(IF(A5=10,123,456)) in row 5, ostensibly now we must explicitly write @SUM(IF($A$1:$A$100=10,123,456)).

I write "ostensibly" because, in my limited experience, I'm not sure that __we__ can enter the @ operator explicitly to indicate "intersection" (single-valued result).

IOW, MSFT flipped(!) the "implicit" interpretation of an expression without the @ sign.

And yes, that is based on Excel's "structured reference" (table) syntax, which existed long before "dynamic array awareness" and the "spill" feature.

Hope that helps sort this out.

Last edited by joeu2004; 10-21-2023 at 01:12 PM. Reason: minor clarifications
Reply With Quote
 



Similar Threads
Thread Thread Starter Forum Replies Last Post
Mailto Hyperlink Formula contains too large of "Body" receiving "#Value" need to find workaround MCamera Excel 1 03-02-2022 07:52 PM
Excel 2003: VBA "Function" causes "#VALUE!" errors after running "insert/delete row" custom macro Matt C Excel Programming 2 01-08-2022 06:03 AM
Combine "sort within groups" and "identify duplicate/unique values" in two different variables. civilcervant Excel 3 06-12-2017 07:27 AM
remove repeated words with " macro " or " wild cards " in texts with parentheses and commas jocke321 Word VBA 2 12-10-2014 11:27 AM
@ and "implicit intersections" How to choose a "List" for certain "Heading" from "Modify" tool? Jamal NUMAN Word 2 07-03-2011 03:11 AM

Other Forums: Access Forums

All times are GMT -7. The time now is 06:39 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc.
Search Engine Optimisation provided by DragonByte SEO (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
MSOfficeForums.com is not affiliated with Microsoft