こんにちは、毛井です。

OFFSET関数の動きについて、教えてください。

LibreOffice3.3の新機能紹介のところに
「External reference works within OFFSET function」
というのがあります。

「OFFSET関数の中で、外部ファイルへの参照ができるようになった」
と理解し、下記環境で試してみました。

WinXP
LibreOffice3.3.1RC1
Localは日本語

(1)
A.odsファイルを新規作成します。
A.odsファイルのシート名:in_another_fileに、
下記のようなデータを入れておきます。

  A  B  C  D  E
-+--+--+--+--+---
1|A1|B1|C1|D1|E1
-+--+--+--+--+---
2|A2|B2|C2|D2|E2
-+--+--+--+--+---
3|A3|B3|C3|D3|E3
-+--+--+--+--+---
4|A4|B4|C4|D4|E4
-+--+--+--+--+---
5|A5|B5|C5|D5|E5

(2)
B.odsファイルを新規作成し、
セルA2に下記式を手で入力します。

「=OFFSET('file:///C:/a.ods'#$in_another_file.$A$1,2,2)」

セルA2には「C3」の値が表示されます。

(3)
B.odsファイルの他のセルに
関数ウィザードを使用して、
(2)と同じ式をセットしてみます。

関数:OFFSET
基準:a.odsファイル中のシート名in_another_fileのセルA1を指定
行数:2
列数:2

ここまでの数式を指定した段階で、
結果欄に「C3」という値が表示されます。
「OK」をクリックすると、

(4)
LibreOからのエラー
「Calcは入力された数式内にエラーを発見しました。
次の修正候補を適用しますか。
=OFFSET(2,2)」

となります。
同一ファイル内での他のシートへの参照であれば、関数ウィザードであっても
参照することができます。
しかし、他のファイルへの参照を行うOFFSET関数の場合は
数式バーに直接入力はOK、ウィザードではエラー
となるようです。

どちらの動作が本来の動きでしょうか?
またいずれにしても、
数式入力エリアに直接入力しようとも、関数ウィザードを使用しようとも
同じ結果が得られる方がよいと思います。

他の環境ではいかがでしょうか?

皆様の環境での動きを教えていただきたく、よろしくお願いいたします。

-- 
Unsubscribe instructions: E-mail to [email protected]
List archive: http://listarchives.libreoffice.org/ja/discuss/
*** All posts to this list are publicly archived for eternity ***

メールによる返信