過去の桐井戸端BBS (桐ver.9)
30143 EXCEL書き出しで作成されたシートを参照する計算式をつくって変更すると計算が反映されない 小川 2005/06/03-14:51
お世話になっております。
非常に不思議な現象にあたって困惑しております。

現象としましては、

1)表から「EXCELファイル書き出し」を実行します。

2)作成されたEXCELファイルを開き、
  書き出されているデータを参照する計算式を
  どこのセルでもいいのですが設定します。(ex.セルC1に =A2 )
  この時点では正常に参照しています。
   (セルC1には、桐から書き出されたデータ(セルA2)の値が表示)

3)2で設定した計算式(=A2)を、=A3 に修正します。
  すると、今まで参照元の値が表示されていたのに
  こんどは、セルC1の表示が、「=A3」と計算式そのものが表示され
  データを参照しません・・・

以上は簡単な例を書きましたが、
どのようなケースでも、桐にて作成されたシートを参照する計算式を修正すると、
同じように、値 から 計算式そのもの へ表示というかそのセルのデータが変わってしまいます。

せめて当方だけの現象なのか、EXCELの設定が悪いのか、桐の書き出しが悪いのか判ればと思い質問させていただきました。

当方の環境は
 WINDOWS XP SP1
 桐 Ver9−2004
 EXCEL 2000
です。

どうかよろしくお願い致します。

30144 Re:EXCEL書き出しで作成されたシートを参照する計算式をつくって変更すると・・・ 宮城 2005/06/03-15:21
記事番号30143へのコメント
小川さん、こんにちは。私の環境では

>  どこのセルでもいいのですが設定します。(ex.セルC1に =A2 )
>  この時点では正常に参照しています。

この時点から「=a2」になりました。

Win2K SP4
桐V9 SP1
Excel2002

です。

セルの書式(表示形式)が数値以外は「文字列」になっているためのようですね。「標準」にしてやる必要があるようです。

30146 Re:EXCEL書き出しで作成されたシートを参照する計算式をつくって変更すると・・・ hidetake 2005/06/03-15:48
記事番号30143へのコメント
>せめて当方だけの現象なのか、EXCELの設定が悪いのか、桐の書き出しが悪い
>のか判ればと思い質問させていただきました。

桐の Excel書き出しというのは、桐が直接 Excel のファイルを作ったり操作するのではなく、
Excel (Excel.Application)を起動して、Excel にお願いしてデータを作って(操作)いるだけ
(もらっているだけ)です。
だから、桐云々という事はなく、全ては Excel の仕様に従います。

たとえば、Excel を単独で起動し、新規作成されたまっさらのシートで
A1 に a 、A2 に b 、A3 に c と言った、文字列の値を入れて、
このセルの書式を「文字列」に変更した上で、
ここのセルを参照する計算式を書いてみて下さい。

書式が文字列のセルを参照する式を書くと、そこのセルも文字列になってしまうようです。
だから次に式を書こうとしたときには数式としてではなく文字列として認識してしまうようです。

計算式を書き換える場合は、一度「標準」に戻すか、参照先の書式が
本当に文字列でなくて「標準」で良いのならば、そちらを直すかでしょうか?
30147 Re:EXCEL書き出しで作成されたシートを参照する計算式をつくって変更すると・・・ 小川 2005/06/03-16:11
記事番号30143へのコメント
宮城さん、hidetakeさん、早速のご回答ありがとうございました。

計算式を作成する前に、参照元(桐から書き出し)の書式を
標準にすればイイということで、やってみましたらOKでした!
ありがとうございました。
計算式側の書式は色々触ってみたのですが、
元のほうとは気づきませんでした。

作成されるシートは桐の仕様ではなくEXCEL側のものなんですね。
出来れば文字列も「標準」として作成して欲しいとこですが、
(最初だけとは言え、ちょっと面倒(^^;))
EXCELの仕様では仕方ないです。

対処方法とEXCELの仕様(原因?)が判ったので安心しました。
ほんとうにありがとうございました。

これで、今日は気になることなく日本代表を応援できそうです(^^)

30149 Re:EXCEL書き出しで作成されたシートを参照する計算式をつくって変更すると・・・ hidetake 2005/06/03-16:58
記事番号30147へのコメント
>作成されるシートは桐の仕様ではなくEXCEL側のものなんですね。
>出来れば文字列も「標準」として作成して欲しいとこですが、

そんな事されたら - や / などを含む文字列を渡した際に
勝手に変なデータに書き換えられてたまったものではありませぬ!
30160 Re:EXCEL書き出しで作成されたシートを参照する計算式をつくって変更すると・・・ 小川 2005/06/07-11:25
記事番号30149へのコメント
hidetakeさん遅く返事にすいません。

>そんな事されたら - や / などを含む文字列を渡した際に
>勝手に変なデータに書き換えられてたまったものではあり
>ませぬ!

なるほど、そうですね!
CSV出力でEXCELで開くと、なんでこんな余計なことしてくれるの?
状態になってました(^^;)
そうなってしまうより断然良かったということですね。

ありがとうございました

30161 Re:EXCEL書き出しで作成されたシートを参照する計算式をつくって変更すると・・・ hidetake 2005/06/07-16:24
記事番号30160へのコメント
>なるほど、そうですね!
>CSV出力でEXCELで開くと、なんでこんな余計なことしてくれるの?
>状態になってました(^^;)
>そうなってしまうより断然良かったということですね。

Excel 相手だと CSV や TXT はやはり面倒です。

さて、
> 出来れば文字列も「標準」として作成して欲しいとこですが、
これに関しては、データをそのまま渡す方法として、当然、
文字列は文字列として扱うように書式設定してデータを渡す必要がありますが、
1つの考え方として、そのあとで(データを渡したあとで)書式を「標準」に戻すのもありかな?とは、あとで思いました。

ただ、どちらが良いかというと、Excel にデータを変換したあとで、
データの部分に値を入力するのか、あるいは、必要箇所に計算式を設定するのかで変わってくると思います。
なので、わざわざ一度設定した書式を、また元に戻すのも一般的に使いやすいとは言えないと思います。
まぁ〜、必要な人は、左上をクリックして全選択し、
全体のセルの書式を「標準」にすれば良いだけですので、やはり書式を持つ
データベースのデータの受け渡しという事で、文字列は文字列として渡すのが良いと思います。
また、一度渡したものを元(桐)に戻す場合も書式がはっきりさせておく方が間違いも無いかも知れません。

戻る