痔になりやすい生活習慣とは?

WinXP,Excel2002です。

業務アプリから出力したExcelのファイルのみで起きている現象なのですが、
データの書式を「ユーザ定義」で設定しても、
なぜか、その場で反映されません。
一度セルをダブルクリックしたのちにフォーカスをはずすと、
なぜか そこでパッと反映されます。

値は「2006-07-01 12:02:17」といったもの。
「ddd」と設定した時点で表示は「Sat」になるはずなのに、
1セルずつ ぷちぷちダブルクリックしないと変わってくれません…。

同僚に聞くと「外部ソフトから落としたためで、手の打ちようがない」とのことですが、
どうにかこのブックを使って表示形式を変えることはできないでしょうか?
お願いします!

このQ&Aに関連する最新のQ&A

A 回答 (3件)

こんにちは。

KenKen_SP です。

文字列データとなっているとか? 特に日付部分が日本の標準的な

 yy/mm/dd

ではなく、”-”で区切られてますし。OS や Excel のバージョンによっては、
コントロールパネルの日付書式の設定いかんで文字列として扱われる可能性は
ありますよね。

 # Excel 2002 VBA で 配列にいれた日付をセルに転記すると英語書式の
 # 文字列になるバグがありました。SP2 か SP3 で修正されましたが。
 # 独自プログラム(VBA含む)でセルにデータを書き込む場合は、この
 # ように、Excel本体の動作とは違う結果になる場合が稀にあります。

適当なセルに 1 を入力してコピーし、セルを選択して形式を選択して貼り付け
「乗算」で、シリアル値に直せると思います。Excel が文字列として認識して
いるなら「日付・時刻」の表示形式を設定しただけでは表示は更新されません。

ダブルクリックで表示形式が有効になるのは...

セルの表示形式が「標準」であれば、セルをダブルクリックで編集モードに入り、
再度確定させると値の更新があったものとして、再計算がなされます。このとき
Excel は値をみて、日付・時刻と自動的に認識し、設定された「日付・時刻」の
ユーザー定義書式を適用するのだと思います。
    • good
    • 3
この回答へのお礼

こんにちは、丁寧な解説をありがとうございます!

文字列でーた…
すみません、無学でピンとは飲み込めなかったのですが、
表示形式とは別に、
「文字列」「日付・時刻」「シリアル値」などの分類を
Excelが内部的にしているということなのですね。

おっしゃるとおりにやってみたら出来ました…!
すごい(涙)
どうもありがとうございました!勉強します。

お礼日時:2006/08/01 16:17

補足しときます。



1. A1 セルの表示形式を 「文字列」にします
2. A1 セルに「2006-07-01 12:02:17」を入力します
3. A1 セルの表示形式を 「標準」に戻します

こんな感じで、表示形式「標準」で文字列の「日付・時刻」が再現できると
思います。このセルに対し、ユーザー定義書式「ddd」を適用しても表示は
更新されません。シリアル値ではないからです。

なお、1 をコピーして「形式を選択して貼り付け」-「乗算」でシリアル値
に直す場合は、対象となるセル全体に対して一気に行えるので、手間は1度
だけで済みます。
    • good
    • 0
この回答へのお礼

な、なるほど~。
ほうほう…Excelって変なの…。
わかりやすくご説明くださって、本当にありがとうございました。

お礼日時:2006/08/01 16:20

業務アプリの開発元にきくのが早いと思うのですが…メーカーのものではないのでしょうか?



またそのブック自体がアプリに接続されていたり、マクロが入っていたりしないでしょうか。
    • good
    • 0
この回答へのお礼

こんにちは、ご回答どうもありがとうございます。

アプリはBrioだそうです。
ブック固有の問題ではなくて、そのセルをコピーして
新規作成文書に貼り付けても、同様の状態になります(泣)
データが何か不要な情報を持っちゃってるか必要な情報を持ってないか
みたいで…。

でもすみません、そこまで気づいて、1つ解決策が見つかりました。
一度メモ帳に貼り付けて(フォント情報を持たないテキストにして?)から、
それをまたコピーしてブックに貼ると、
一発で表示形式が反映されるようになりました。
Excelの問題かBrioのほうかが気になりますが、
ひとまずホッとしてます。
どうもありがとうございました。

お礼日時:2006/08/01 16:09

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセル セルの書式設定を選択したすべてのセルに適用する方法

エクセルの「セルの書式設定」ですが、だいたいのことは複数セルを選択すると、複数セルに適用されるのですが、「セルの書式設定」をしたあとに該当のセルをいちいちダブルクリックしなくては適用されずに困っています。

これは、テキストウィザードで「文字列」として取り込んだ「2008/12/15」などの日付でおこりました。
列をいっせいに「EMMDD」(201215)の形に変更したくて、セルの書式設定をしましたが、見た目が変わらず、ユーザー定義を使う前にいったん「数値」や「標準」「日付」にしてから、とも思ってやってみたのですが、見た目が変わりません。
どれも、その列の該当のセルをダブルクリックしてアクティブにしないと適用されないみたいです。
複数セルを選択して一気にできる方法はありませんか?
よろしくお願いします。

Aベストアンサー

文字列では日付書式の設定はできません。
文字列を数値に変換しなければなりません。
1.どこかのセルに「1」をいれて、これをコピーする。
2.文字列→数値にしたいセル範囲を選択して、「形式を選択して貼り付け」で、「乗算」をクリックする。
これで、文字列→数値になります。

ある書式に設定されたセルの書式を、他の選択範囲に適用する方法。
刷毛の形をした「書式のコピー/貼り付け」のボタンわかりますか。
なければ、
ツール―ユーザー設定―コマンド―書式の右のボックスを探してツールバーに表示する。
ある書式に設定されたセルを選択して、「書式のコピー/貼り付け」ボタンをダブルクリックする。
その書式を設定したい範囲を選択すれば、選択範囲がその書式になる。
「書式のコピー/貼り付け」ボタンをクリックして書式の貼り付けを解除する。
シングルクリックは1回だけ書式コピーができる。
ダブルクリックは解除するまでコピーができる。

Qexcelで書式の変更が反映されない

 excel2000です。ある列に数値で入力した「20010401」のようなデータが200くらいあり、その列全体の書式を文字列に変更し、並べ替えを行うと、その書式の変更が反映されていないところがあり、うまくいきません。
 書式が反映されていないセルをダブルクリックすると反映するのですが、、、
 書式の変更が反映されないセルはいつも決まっているようです。
 何か対処方法はあるでしょうか。一応ファイルサイズとしては、500kbiteくらいのものです。

Aベストアンサー

こんにちは!

>その列全体の書式を文字列に変更し
元々数値が入っているセルの表示形式を文字列にしても
文字になりません!
(見た目が文字列なだけで実は数値です。)

一括で完全な文字列にするには
・その列を選択
・データ 区切り位置 次へ 次へ 表示形式[文字列]をチェック 完了
で変換できると思います。試してみて下さい!

ついでに
元々文字列で入力されている数"字" を 数値 に変換するには
・書式設定を標準や数値にした後
・データ 区切り位置 完了

QExcelの書式が変わらないです

Excel 2010を使用しています。

取引先からExcel 2003形式でファイルが飛んできます。日付の入っているセルが、

「5/20/2012」のような形式でデータが入っています。セルの書式設定から「2012/5/20」形式にしようとしていますが、変更できません。

書式設定を、数値、通貨、パーセンテージ、文字列、様々なものに変更しようとしても何も変わりません。セルに式もはいっていないですし、どのように形式を変更してよいかわかりません。

ピボットテーブルにして、日付のところを「グループ化」しようとしても、選択対象をグループ化することができませんという表示が出ていしまいます。

ご教授よろしくお願いいたします。

Aベストアンサー

文字列として「日付のようなもの」が入ってるのではないでしょうか。
文字列ですので、日付としてのグループ化もできません。

例えば、無理矢理変換するなら、A1に「5/20/2012」などと入っているとして、B1に以下の式を入れます。

=DATEVALUE(RIGHT(A1,4)&"/"&LEFT(A1,LEN(A1)-5))

すると、2012/5/20のシリアル値が表示されますので、書式を日付に変更してください。

Qエクセルで数式の結果が反映されない(自動計算になっているのに)

すいません、教えてください。

エクセル(XP)で数式が自動計算されなくなって
しまいました。

  ※ツールのオプションはちゃんと自動計算に
   なっているのに全く反映されません。

今まで全く問題なく作業できていたので
原因が分からず困っています。

数式等のエラーだとは考えにくいです。
と言うのも数式のあるセルをダブルクリックして
選択し、そのままEnterキーを押すと計算結果が
反映されます。
ただ、今まで全て自動計算されていたのが
全く動かなくなってしまったんです。

同じようなトラブルを経験された方、又は
詳しい方、どうかよろしくお願いします。

Aベストアンサー

原因は分からずじまいになってしまいましたが
同じことがありました。

「Officeの救急隊」を試してみましょう。
ボタン一発で全ての設定が元に戻ります。
http://www.vector.co.jp/soft/win95/util/se247118.html
(ツールバーなども初期状態に戻ります)

私の場合はコレで直ってしまいました^^

参考URL:http://www.vector.co.jp/soft/win95/util/se247118.html

QExcelで書式設定の変更ができない

今、仕事でExcelを使っているのですが、『通貨』の書式にしたいのに何度設定しても、『数値』の書式に戻ってしまいます。
どうしたら、通貨の書式にできるのでしょうか?

ちなみに、Excelはoffice2007のバージョンです。

すみませんが、どなたか教えて下さい。お願いします。

Aベストアンサー

入力を制限する設定がされているかもしれないので確認してみてはいかがですか?(下記以外にもあるかもしれませんが・・・)

VBA:officeボタン→Excelのオプション→基本設定→『「開発」タブをリボンに表示する』にチェック→開発タブ→コントロールグループ→コードの表示

マクロ:表示タブ→マクログループ→マクロの表示

データの入力規則:データタブ→データツールグループ→データの入力規則→設定と日本語入力

Qエクセルへのデータの貼付時に書式が反映されない!

お世話になります。

VBでエクセルにデータを貼り付ける処理があるのですが、
エクセルの書式設定(数値で小数点第3位まで表示)が反映されず、そのままの値が文字列として表示されてしまいます。

そのセルをダブルクリックすると書式が反映されます。

貼り付ける時はパフォーマンスを考慮して、下記のように一括で貼り付
けるようにしています。
「m_xlSheet.Range("A" + CStr(lngRows) + ":U" + CStr(lngRows)).Value = strValue」
何かよい方法をご存知でしたら、教えて下さい。

環境:VB6(SP6)、エクセル2000

Aベストアンサー

こんにちは。KenKen_SP です。

> m_xlSheet.Range("A" + CStr(lngRows) + ":U" + CStr(lngRows)).Value = strValue

変数 strValue が String型配列になっているからですね。恐らく、VB の自動
キャスト機能が原因です。

オートメーションのコードを書くのは面倒なので、Excel VBA でサンプルを
書いておきます。変数の型の違いでセルへ転記がどのように違うかを確認して
下さい。

Sub Sample1()

  ' 文字列として数字が転記される例
  
  Dim Buf() As String '<-- 文字列型変数が原因
  
  ReDim Buf(1 To 5, 1 To 5)
  For i = 1 To 5
    For j = 1 To 5
      ' 数値が文字列にキャストされる
      Buf(i, j) = 12345
    Next j
  Next i
  Range("A1:E5").Value = Buf

End Sub

ではどうするかといえば、配列の型を Variant にしてしまうのが一番
簡単です。

Sub Sample2()

  ' 対応策
  
  Dim Buf() As Variant '<-- バリアント型にする
  
  ReDim Buf(1 To 5, 1 To 5)
  For i = 1 To 5
    For j = 1 To 5
      Buf(i, j) = 12345
    Next j
  Next i
  Range("A1:E5").Value = Buf

End Sub

こんにちは。KenKen_SP です。

> m_xlSheet.Range("A" + CStr(lngRows) + ":U" + CStr(lngRows)).Value = strValue

変数 strValue が String型配列になっているからですね。恐らく、VB の自動
キャスト機能が原因です。

オートメーションのコードを書くのは面倒なので、Excel VBA でサンプルを
書いておきます。変数の型の違いでセルへ転記がどのように違うかを確認して
下さい。

Sub Sample1()

  ' 文字列として数字が転記される例
  
  Dim Buf() As String '<-- 文字列型変数が原因
...続きを読む

Qエクセルで入力時にWクリックしないと関数が計算されない。

エクセルで表を作成した所、関数が入っている所で、数字を入力する時、Wクリックしないと正確に計算されない。コピー貼り付けをしても、その状況は変わらない。
どうしたら元に戻りますか?

Aベストアンサー

【ツール】【オプション】【計算方法】の中の計算方法の自動にチェックをいれて見てください。

ここが手動の場合F9を押すと計算されます。

Qエクセルの関数 ENTERを押さないと反映されない。。

エクセル2002を使用しています。
関数を使用していますが、入力結果が反映されません。大変困っています。。
関数の末尾にカーソルを持ってきてENTERを押すと、反映されます。
関数は別に難しいものではなく、SUM関数でもCOUNTIF関数でも同様のことが起こっています。新規にファイルを作成しても解決しません。
お心当たりがあれば教えて下さい!!

Aベストアンサー

計算方法が手動になっていると思われます。
ツール→オプション→計算方法タブで自動に切り替えてみて下さい。

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Qセルの書式設定が勝手に変わってしまう

XP SP3 Excel2007なんですが、まっさらのシートでも例えばB1に20:00、C1に3:00、D1に7:00と入力後E1に100と入れると勝手に書式がユーザー定義に変わってしまい時間表示になってしまいます。とても入力しずらく原因が分かりません、分かる方がいましたら宜しくお願いします。

Aベストアンサー

エクセルが判断してそのようにさせているのですね。
どうしても避けたいのであれば「Office」ボタンをクリックして右下にある「エクセルのオプション」ボタンをクリックします。
「詳細設定」の項目から「編集設定」にある「データ範囲の形式および数式を拡張する」のチェックを消します。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング