Firma Microsoft wprowadziła operator przecięcia pośredniego w ramach istotnej aktualizacji języka formuł programu Excel w celu obsługi tablic dynamicznych. Tablice dynamiczne oferują nowe, znaczne możliwości obliczeniowe oraz funkcje w programie Excel.
Uaktualniony język formuł
Uaktualniony język formuł programu Excel jest prawie identyczny ze starszym językiem, z tym że używa operatora @ do wskazywania miejsca przecięcia pośredniego, podczas gdy starszy język robił to w tle. W związku z tym po otwarciu niektórych formuł w programie Excel z tablicą dynamiczną pojawia się symbol @. Formuły będą nadal obliczane tak jak zawsze.
Co to jest przecięcie pośrednie?
Logika przecięcia pośredniego ogranicza wiele wartości do pojedynczej wartości. Program Excel wymusił zwrócenie pojedynczej wartości przez formułę, ponieważ komórka mogła zawierać tylko jedną wartość. Jeśli formuła zwracała pojedynczą wartość, przecięcie pośrednie nic nie robiło (nawet jeśli z technicznego punktu widzenia działało w tle). Logika działa następująco:
- Jeśli wartość jest pojedynczą pozycją, zwróć pozycję.
- Jeśli wartość jest zakresem, zwróć wartość z komórki w tym samym wierszu lub kolumnie co formuła.
- Jeśli wartość jest tablicą, wybierz lewą górną wartość.
Wraz z wprowadzeniem tablic dynamicznych program Excel nie jest już ograniczony do zwracania pojedynczych wartości z formuł — nie jest też konieczne przecięcie niejawne w tle. Tam gdzie stara formuła niezauważalnie wywoływała przecięcie pośrednie, tablica dynamiczna umożliwia programowi Excel wskazanie miejsca, gdzie nastąpiłoby przecięcie pośrednie przy użyciu symbolu @.
Dlaczego operator @?
Symbol @ jest już używany w odwołaniach do tabeli w celu wskazania przecięcia pośredniego. Rozważmy następującą formułę w tabeli =[@Column1]. Symbol @ oznacza, że formuła używa przecięcia pośredniego w celu pobrania wartości w tym samym wierszu z [Kolumna1].
Czy można usunąć symbol @?
Często można to zrobić. Zależy to od tego, co zwraca część formuły po prawej stronie od symbolu @:
- Jeśli funkcja zwraca pojedynczą wartość (najczęstszy przypadek), usunięcie symbolu @ nie powoduje żadnej zmiany.
- Jeśli zwraca zakres lub tablicę, usunięcie symbolu @ powoduje jego rozlanie do sąsiednich komórek.
Jeśli usuniesz automatycznie dodany symbol @, a później otworzysz skoroszyt w starszej wersji programu Excel, zostanie wyświetlony jako starsza formuła tablicowa (ujęta w nawiasy klamrowe {}). Takie zachowanie zapewnia, że starsza wersja nie powoduje przecięcia pośredniego.
Kiedy dodawać operator @ do starych formuł?
Ogólnie funkcje, które zwracają zakresy wielokomórkowe lub tablice, mają prefiks @, jeśli zostały utworzone w starszej wersji programu Excel. Sposób zachowania formuły nie zmienia się — widoczne jest tylko niezauważalne wcześniej przecięcie pośrednie. Typowe funkcje, które zwracają zakresy wielokomórkowe, to między innymi INDEKS, PRZESUNIĘCIE oraz funkcje zdefiniowane przez użytkownika. Powszechnym wyjątkiem jest umieszczenie ich w funkcji, która akceptuje tablicę lub zakres (na przykład SUMA() lub ŚREDNIA()).
Aby uzyskać więcej informacji, zobacz: Funkcje programu Excel, które zwracają zakresy lub tablice.
Przykłady
| Oryginalna formuła | Widok programu Excel z tablicą dynamiczną | Objaśnienie |
|---|---|---|
| =SUMA(A1:A10) | =SUMA(A1:A10) | Bez zmian — nie może wystąpić przecięcie pośrednie, ponieważ funkcja SUMA oczekuje zakresów lub tablic. |
| =A1+A2 | =A1+A2 | Bez zmian — nie może wystąpić przecięcie pośrednie. |
| =A1:A10 | =@A1:A10 | Następuje przecięcie pośrednie i program Excel zwraca wartość skojarzoną z wierszem, w którym znajduje się formuła. |
| =INDEKS(A1:A10,B1) | =@INDEKS(A1:A10,B1) | Może wystąpić przecięcie pośrednie. Funkcja INDEKS może zwrócić tablicę lub zakres, gdy jej drugi lub trzeci argument ma wartość 0. |
| =PRZESUNIĘCIE(A1:A2,1,1) | =@PRZESUNIĘCIE(A1:A2,1,1) | Może wystąpić przecięcie pośrednie. Funkcja PRZESUNIĘCIE może zwrócić zakres wielokomórkowy. Gdy tak się dzieje, wyzwala przecięcie pośrednie. |
| =MYUDF() | =@MYUDF() | Może wystąpić przecięcie pośrednie. Tworzenie funkcji niestandardowych w programie Excel może zwracać tablice. Gdy tak się dzieje, oryginalna formuła wyzwala przecięcie pośrednie. |
Używanie operatora @ w nowych formułach
Jeśli tworzysz lub edytujesz formułę, która zawiera operator @, w programie Excel z tablicą dynamiczną, formuła może być wyświetlana jako _xlfn. SINGLE() w programie Excel bez tablicy dynamicznej.
Takie zachowanie występuje w przypadku zatwierdzenia formuły mieszanej. Formuła mieszana to formuła, która korzysta zarówno z obliczeń tablicowych, jak i przecięcia pośredniego. Program Excel bez tablicy dynamicznej nie obsługuje tej kombinacji. Program Excel bez tablicy dynamicznej obsługuje tylko formuły, które w całym tekście (i) powodują przecięcie pośrednie lub ii) obliczenie tablicy.
Gdy program Excel z tablicą dynamiczną wykryje formułę mieszaną, proponuje odmianę formuły, w której używane jest przecięcie pośrednie w całym tekście. Jeśli na przykład wprowadzisz te dane =A1:A10+@A1:A10, , zostanie wyświetlone następujące okno dialogowe:
Jeśli odrzucisz formułę proponowaną w oknie dialogowym, zostanie zatwierdzona formuła =A1:A10+@A1:A10 mieszana. Jeśli później otworzysz tę formułę w programie Excel bez tablicy dynamicznej, zostanie ona wyświetlona w taki sam sposób, jak =A1:A10+_xlfn.SINGLE(A1:A10) w przypadku operatorów @ w formule _xlfn.SINGLE(). mieszanej: Gdy program Excel bez tablicy dynamicznej oblicza tę formułę, zwraca #NAME! wartość błędu.
Potrzebujesz dodatkowej pomocy?
Zawsze możesz zadać pytanie ekspertowi w społeczności technicznej programu Excel lub uzyskać pomoc techniczną w społecznościach.