2015-09-16 33 views
5

Mam do czynienia z przerabianiem projektu Excel w R. Widzę tabelę, w której wyświetlana jest komórka {= TABELA (F2, C2)}. Rozumiem, jak utworzyć tabelę podobną do tej (analiza typu "co-jeśli", tabela danych ...).Wyodrębnij formułę z tabeli danych programu Excel (analiza co-jeśli)

Jak muszę to zrozumieć, aby przepisać w R, jak mogę znaleźć oryginalnej formuły, która stoi za tą komórką?

PRZYKŁAD: Stworzyłem Tabela danych, jak pokazano here i arkusz wygląda this:

SO32606771 question example

W moim przypadku, nie wiem jak arkusz został stworzony, i chcę znać początkową formułę. Teraz jest to pokazane jako {=TABLE(,C4)}. (w przykładzie znam odpowiedź, to w komórce (D10), ale gdzie jest odniesienie do tej komórki w tabeli danych?)

+0

W języku VBA można użyć obiektu zakresu i właściwości Formula, aby uzyskać formułę w komórce ... aby można było rozpocząć od pętli wszystkich zakresów w tabeli i wyprowadzić formułę ... –

+0

@OurManInBananas thanks dla porady, ale kiedy próbuję wyprowadzić formułę, widzę ponownie tylko "TABELA (F2, C2)". Niestety nie mam żadnego doświadczenia w wypromowaniu się, czy to jest prawdziwe, aby wyodrębnić tak bezpośrednie odniesienie? – Stanislav

+0

Czy możesz pokazać nam przykład formuł znajdujących się w komórkach, które chcesz? – Luuklag

Odpowiedz

2

Korzystam z programu Excel 2007, ale nie mam powodu, by sądzić, że w innych wersjach jest inaczej.

@ Titanis miał rację, odrzucając moją sugestię, że TABELA była nazwą; jest to funkcja EXCEL. Ale jest to bardzo dziwne funkcja: -}

  • Nie ma żadnej pomocy od funkcji stoliku w lokalnej pomocy, nie jest wymieniony w sekcji „Lista funkcji arkusza (alfabetycznej)”.
  • Nie można ręcznie wprowadzić lub edytować funkcji TABLE; błąd "Ta funkcja nie jest poprawna".
  • Komórki kopiowania/wklejania zawierające funkcję TABLE wklejają ich wartości, a nie ich formuły, nawet po podaniu opcji Wklej specjalnie> Formuły
  • Nie można wstawiać wierszy/kolumn bezpośrednio nad/z lewej strony komórek zawierających funkcję TABELA; błąd "Nie można zmienić części tabeli danych".
  • Pace @pnuts za pomocą formuł> inspekcja formuł komórek zawierających funkcję TABLE nie pokazuje żadnych precedensów i żadne komórki nie pokazują ich jako podległych. Chociaż w narzędziu do sprawdzania arkuszy VBA, w którym używam właściwości Range.DirectDependents, "zakres formuły" zależy od komórek "marginesu" zawierających formuły, ale nie od tych, które zawierają wartości (wyjaśnienie tych terminów znajduje się poniżej).

Nie znalazłem niczego, co uważam za przyzwoitą dokumentację tabeli(). Znalazłem wiele przykładów tego, jak produkować i używać tej funkcji, ale nic jasno nie określa argumentów i rezultatów. Najlepsze, co znalazłem, to https://support.office.com/en-us/article/Calculate-multiple-results-by-using-a-data-table-e95e2487-6ca6-4413-ad12-77542a5ea50b. Byłbym zadowolony, gdyby ktoś mógł wskazać mi lepszą dokumentację.

I wywnioskować bahaviour jak tutaj opisano:

tabeli (Rowinp, Colinp) stanowi wzór tablicy w tablicy sąsiadujących komórek.Odwołuję się do tej ciągłej tablicy jako "zakresu formuły" tabeli danych. Komórki bezpośrednio nad/po lewej od zakresu formuły są również częścią tabeli danych, nawet jeśli nie zawierają funkcji TABLE() i mogą być edytowane; Odwołuję się do tych komórek jako "marginesów" tabeli danych.

Rowinp i Colinp muszą być puste lub mieć odniesienia do pojedynczych komórek. Rowinp i Colinp muszą być różne (lub błąd "odwołanie do komórki wejściowej jest nieprawidłowe"), nie mogą być puste.

Wartości w zakresie formuły oblicza się, pobierając formuły z marginesu (s) i zastępując odniesienia do Rowinp i/lub Colinp wartościami z marginesów.

Istnieją trzy wzajemnie wykluczające się możliwości, odpowiadające pustym wierszem, lub nie.

  1. TABELA (Rowinp,) Colinp puste. Formuła jest taka, że ​​na lewym marginesie tego samego wiersza z instancjami Rowinp zastąpione są wartościami z górnego marginesu tej samej kolumny.
  2. TABELA (, Colinp) Rowinp pusty. Formuła jest taka, że ​​na górnym marginesie tej samej kolumny instancje Colinp są zastępowane wartościami z lewego marginesu tego samego wiersza.
  3. TABELA (Rowinp, Colinp) Ani puste. Formuła jest taka, że ​​w komórce na przecięciu lewego i górnego marginesu z instancjami Rowinp zastąpionymi przez wartości z górnego marginesu tej samej kolumny i wystąpienia Colinp zastąpione przez wartości z lewego marginesu tego samego wiersza.

Myślę, że powinno ci to pozwolić zrozumieć, jaka jest skuteczna formuła w każdej komórce o zakresie formuły.

Ale nie zdziwiłbym się, gdy dowiedziałbym się, że którekolwiek z powyższych stwierdzeń jest błędne: -0
Witam wskaźniki na wszystko, co bardziej wiarygodne.

+0

dziękuję, to było naprawdę użyteczne, szczególnie "TABELA (Rowinp, Colinp) Ani puste.Roztwór jest to, że w komórce na przecięciu lewego i górnych marginesów z przypadkami Rowinp zastąpione wartościami z górnego marginesu tego samego kolumna i instancje Colinp zastąpione wartościami z lewego marginesu tego samego wiersza. " – Stanislav

+0

@StanislavAbs Jeśli spełnia twoje oczekiwania, czy możesz zaakceptować odpowiedź? – user20637

1

myślę w przykładzie F2 i C2 są skuteczne tylko adresy parametry dla funkcji (TABLE), gdzie można ją umieścić w dowolnym miejscu, z powiązaną formułą w lewej górnej komórce tabeli.

Proponuję więc przejść do: C2, FORMULAS> Inspekcja formuł i kliknąć Trace Dependents, powtórzyć dla F2 i zobaczyć, gdzie strzałki się zbiegają.

+0

Dziękuję za radę. Ale w moim przypadku to nie działa. Te komórki (F2 i C2) zawierają dwa popularne parametry. Są używane w różnych formułach. – Stanislav