[[20190302112033]] 『外部データのテーブル見出し書式、値固定』(あっぷる) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『外部データのテーブル見出し書式、値固定』(あっぷる)

外部データ接続を行い、エクセル上にデータを落としております。
見出しが長かったりするので、値の変更及びセル内の改行等で見出しを見やすくしているのですが、毎回データを更新するたびにもともとの見出しに戻ってしまいます。

どうすれば見出しの値と書式を固定できますでしょうか?

< 使用 Excel:Office365、使用 OS:MacOSX >


 外部データを取り込むときにSQLでフィールド名を直接書き換えてはどうですか?
 例えばエクセルを外部データとして取り込む場合ですと、
 1)取り込んだデータのシートを開き、取り込んだデータ範囲を選択する
 2)リボンに表示された「デザイン」をクリック
 3)プロパティをクリックし、「外部データのプロパティ」を表示させ、
   接続
    名前:______________□←このボタンをクリック
 4)「接続のプロパティ」が開いたら、「定義タブ」を開く
 5)「コマンド文字列(M)」に表示されたSQL文の変更したいフィールド名に
   AS 変更後の名前
   を付け加える
   例 「テスト」シートのNAMEフィールド名を「名前」に変更する場合
   SELECT `テスト$`.NAME , `テスト$`.TEL
   SELECT `テスト$`.NAME AS 名前, `テスト$`.TEL
                           ~~~~~~~
 これでどうでしょう?
(稲葉) 2019/03/02(土) 11:56

ありがとうございます!
追加で質問なのですが、名前を「stockinexpected」とするとして、テーブルの見出しに表示される際に

stockin
expected

というセル内で改行された形で表示したい場合、どうすれば良いでしょうか?
度々のご質問お許しください。
(あっぷる) 2019/03/02(土) 12:56


 調べたけど出てこない。
 フィールド名に余計な改行とか入れておくと、MATCHとかで検索できなくなるから
 そのままのほうがいいと思うけど・・・

(稲葉) 2019/03/02(土) 13:15


 数式を使用する例...

 `=""stockin""&char(10)&""expected""`
(seiya) 2019/03/02(土) 14:00

 できないっす・・・
 `=""stockin""&char(10)&""expected""`
 こっちだと、そのまま表示されて、編集→確定すると""""の部分で怒られて

 `="stockin"&char(10)&"expected"`
 こっちにしてみましたが、更新されるとそのまま文字として表示され、
 編集→確定すると 0 になっちまいます。
(稲葉) 2019/03/02(土) 14:22

 そうですか... 失礼しました。
 ADO接続だとSQL文字列にそのような形でできることは確認したのですが、

(seiya) 2019/03/02(土) 14:46


 そうなのですね。
 試してみます。
(稲葉) 2019/03/02(土) 14:47

 ADOでできました。
 グレイヴアクセントとアポストロフィーの差はどちらも認識するみたいですが、
 マイクロソフトクエリー(またはテーブル機能)は出力時に強制的に
 フィールドのセルの書式を文字列にしているみたいです。

 試しにISNUMBERでフィールド名を参照して、セルの書式設定を数値、値を1に書き換えましたが
 結果はFalseでした。
 その後更新して、セルの書式設定を確認しましたが、数値のまま・・・
 上書きというより、強制的に文字列扱い?

 じゃあセルの書式設定が残るのならば、文字列の設定を強制的に変えてしまえと思い
 セルの書式設定を
 「;;;"stockin expected"」
             ↑ここで、Ctrl+J
 としたところ、「表示は」うまいこと残りました。
 なので、セルの値は「stockinexpected」で
 表示が
 「stockin
   expected」
 となります。(セルの値に関係なく、こうなってしまう欠点はありますが)
 一応目的は達成?

(稲葉) 2019/03/02(土) 15:19


 すません、間違えました。
 アポストロフィーじゃなくてシングルクォーテーションっす・・・
(稲葉) 2019/03/02(土) 15:20

 以前、別の板(日本のサイトではありません)で、Index関数を埋め込んだ経験があったので記憶してましたが、
 内部処理が違うようですね。
(seiya) 2019/03/02(土) 15:25

 英語版ではできたのですね。
 =INDEX(A:A,1,1)
 こちらも試してみましたが、一度文字として認識され、編集確定すると0になりました。

 接続していないテーブルでも、直接数式打ち込むと0になったので、テーブルの仕様のようです・・・。
 2007より前でしたら、もしかしたらできたかもしれません。
(稲葉) 2019/03/02(土) 15:40

 おっと、Field 名ではなく Recordの値を引っ張てくるのに使用したような記憶でした。

 確か Name & Address でのユニーク値で集計する際、Addressの違うデータを最初に出現したものに統一
 したい、とかだったと思います。

 代替え案として、フィールド名にアンダースコア _ 等の文字をかませておいて、置換で改行にするとか...
(seiya) 2019/03/02(土) 15:59

 MSクエリはテーブルで出力されるので、列見出しに数式/特殊文字は無理ですね。

 どのくらいのフィールド数があるのか不明ですが、列挙できるならVBAでADO/SQLで接続した方が
 思い通りになりますよ?
(seiya) 2019/03/02(土) 17:45

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.