Excelで時間を計算して0より小さくなると"########"と表示されしまいます、今はマクロで処理していますがどうにかならないのでしょうか?
OpenOfficeではどうなのでしょう?
よろしくお願いします。

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

A 回答 (4件)

> オプションの1904年にチェックしても差だけで"-"は付かないですよね



No2 merlionXXです。
オプションの1904年にチェックすれば計算上マイナスになれば-がつきますよ。画像を添付してありますが・・・。
    • good
    • 0

Excelの時間計算で負になると"########"になってしまいます。


これは列幅とか表示形式では直せません。仕様です。
負の場合にも"-"をつけて正確に表示させるには、
EXCELのオプションで「1904年から計算する」にチェックを入れる必要があります。これだけで質問の件は解消できますが、問題は日付のシリアル値が変わることです。これによって何にし支障が出てくるかというと、例えばWEEKDAY関数の引数がずれることです。つまり曜日が狂うので、修正をかけないといけない部分が出てきます。
    • good
    • 0

エクセルでの時間表示は実は何時間といった時間ではなく、「時刻」です。


だから、マイナスの時刻はありえないのです。
とはいっても計算には困りますね。
あまりお勧めできませんが奥の手があります。
メニューの「ツール」、「オプション」、「計算方法」タブで「1904年から計算する」にチェックを入れてみてください。
ただ、これをやると、そのファイルは他のWindows系のエクセルとは日時が4年ずれてしまいますので、もし他のファイルとの互換性が必要なら使えません。
「Excel で負の時間表示」の回答画像2
    • good
    • 0

「列の幅」が狭くて全部表示されないのではないのですか?



本当に「データの中身」が「#######」になっているのでしょうか?

幅が狭いだけなら「表示形式」で解決出来ますが。

この回答への補足

CMLTさん merlionXXさん ookami1969さん回答有難うございます、ここにまとめてお礼を言わせていただきます。
オプションの1904年にチェックしても差だけで"-"は付かないですよね、これだと一目で大小の判断が出来ないのでちょっと困ります。

 予定時間 実施時間   差
  4:00  5:45  -1:45
(予定時間-実施時間= 差)
こんな感じで表示したいのですが・・・。
Excelは時刻じゃなくて時間の概念が無いのはどうしてなんでしょうね?

補足日時:2009/05/14 20:39
    • good
    • 0

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

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

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

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

Q素朴な疑問なんだけど、日産のゴーンって

オーナー経営者じゃなくて雇われ経営者でしょ?
なんで他社のトップと比較しても不当に高額の報酬出していつまでも雇っているの?
ゴーンじゃなくても今までそばでゴーンの経営を学んできた人ならできるんじゃないの?
その分の報酬で、従業員に特別ボーナスでも出して士気を高めたほうが有意義だと思うけど。
他の役員が無能な連中しかいないのだろうか?

Aベストアンサー

>他の役員が無能な連中しかいないのだろうか?

うん、そういうことです。
そんな連中(無能な役員)が会社を斜めにした体質が残っているから、ゴーンちゃんを追い出せないんです・・・と思っています。

QOpenOffice表計算のマクロ(Basic)で選択中の結合セルからサイズを取得する方法について教えてください

事情によりOpenOfficeの表計算ソフト上で簡単なマクロを作らなければならなくなったのですが、私は満足なプログラミングの知識をもっていず、また身近に頼れる詳しい人もいずに困り果ててしまいました。

マクロの内容は選択中の結合されたセルのサイズ(幅と高さ)にあわせて、はみ出さない範囲で拡大した画像を挿入するというものです。
ネットで検索するなどして調べたOOoBasicマクロの情報を元につぎはぎして、理解できないなりになんとか選択範囲のサイズを取得してあわせて拡大/縮小する所まではいきました。しかし、結合されたセルを選択している場合には、結合されたセルの中の一番左上の単一セルのサイズを取得してしまい、結合されたセル全体のサイズがどうしても取得できないという問題が残ってしまいました。

詳しく書くと、
Dim oSelection As Object
oSelection = ThisComponent.CurrentSelection
Dim w_len As Long
Dim h_len As Long
w_len = oSelection.size.Width
h_len = oSelection.size.Height
としたいうようになっていて、A1からC3まで結合されたセルを選択してマクロを実行するとA1の単一セルのサイズがw_lenとh_lenに入ってしまいます。

MicrosfOfficeに比べてOOoは情報が少なく、またあったとしても分かっている人向けに書いてあることが多く、関係がありそうなものを探しては闇雲にテストしてエラーを返され続けることに疲れました。
なにか良い方法があれば教えてください。よろしくお願いいたします。

事情によりOpenOfficeの表計算ソフト上で簡単なマクロを作らなければならなくなったのですが、私は満足なプログラミングの知識をもっていず、また身近に頼れる詳しい人もいずに困り果ててしまいました。

マクロの内容は選択中の結合されたセルのサイズ(幅と高さ)にあわせて、はみ出さない範囲で拡大した画像を挿入するというものです。
ネットで検索するなどして調べたOOoBasicマクロの情報を元につぎはぎして、理解できないなりになんとか選択範囲のサイズを取得してあわせて拡大/縮小する所まではいきま...続きを読む

Aベストアンサー

こんにちは。

私は、OOo は、未だ入門程度です。最近、OOo の質問が増えたことと、その質問を回答してみて、少し難があったので、レベルアップもあって、しばらく勉強してみました。ただ、当分、ここの板での継続した発言の予定はしておりません。

OOoBasicについては、多少の期待はあったのですが、情報も充実していませんし、OOoBasicを追いかけるには、VB系とは違いすぎます。違うといわれるVB.Net のほうがまだVBAに近いです。MS製のCOMさえ、標準で使えないようになっています。閲覧に、IEすら受付ない所もあるようです。

ご質問の件は、以下の掲示板でさがしてみました。Merged Cells 自体はあっても、その範囲自体を取る方法は出てきません。

検索場所:
http://www.oooforum.org/forum/search.phtml

キーワード例: Marged Cell

今回のような内容は出ていませんから、少なくとも、OOoBasic単独では出来ないのではないかと思っています。また、Novel のOOo やGo-oo のConverter を入れてどうかはチェックしていませんが、最初から、それに頼ったら技術的に見えてきませんので使っていません。MS系の場合は、日本も米国の掲示板も、VBAに関しては、面白いほど質問内容が変わりませんし、日本の掲示板は、ここのサイトでさえ、かなり良い線だと見えてきます。

StarSuite等のマニュアルのBasic 英文・和文を二日間掛けて読んでみました。その上で、こだわらなければ書籍の購入は必要ないように思います。もともと、営利目的ではないものですから、3分の2は英文ですが、PDFを集めれば十分のようです。しかし、開発ソリューションやDeveloper Versionですと、Java/C++を要求されますし、JavaScript さえも、非常に特殊な内容ですから、一般的なJSでは分かりません。

日本語のサイトでは、少なくとも、OOoBasic に関しては、私にとって、それほど読むべき内容が見当たらないように思いました。「StarSuite 開発者ガイド」を読む限りでは、Basic は、MS?に似せているだけで元が分からないと解決しないように思います。

以下のようなサンプルを考えてみました。
A1:C3 まで、連結させて、A1での結合のチェックは出てきますが、他のセルでは結合状態が出てきませんので、どこまで結合しているかは、マクロでは出せません。目視で、結合状態を求めるなら、マクロとしての意味はないと思います。

'-------------------------------------------
Sub Test1
Rem Using 'IsMarged'
Dim oCell As Object
oCell =ThisComponent.getCurrentSelection 'Any CellPosition
If oCell.IsMerged Then
msgbox "Selected Cell is Marged"
Else
msgbox "Selected Cell is NOT Marged"
End If
End Sub
'-------------------------------------------
Sub Test2
Rem Each size is accumulated
Dim sh As Object
Dim oCell As Object
Dim c As Object
Dim i As Long, j As Long, y as Long, x As Long
Dim w As Long, h As Long
Dim s$
s ="A1:C3" 'Name of RangeArea
w=0
h=0
sh = ThisComponent.CurrentController.ActiveSheet
oCell = sh.getCellRangeByName(s)
x =oCell.getRangeAddress.EndColumn
y =oCell.getRangeAddress.EndRow
For j = 0 to x
c = sh.getCellByPosition(i,j)
w = w + c.Columns.Width
Next

For i =0 to y
c =sh.getCellByPosition(i,j)
h = h + c.Rows.Height
Next
Print "w: "& w &"mm h: " & h &"mm"
End Sub
'-------------------------------------------
(画面からコピペで取らない限りは、Tab入り)

>はみ出さない範囲で拡大した画像を挿入するというものです。

MS Office VBAでも、画像をサイズをセルに合わせて挿入する方法は、少なくとも入門レベルではありません。そこまで書けるレベルなら、MS Office VBAにはほとんど困っていないはすです。それを移植実現させるのは大変です。どうやら、MS Office を向こうに回して、新たに構築していく必要がありそうです。だから、MS Office でしてきたことは、一旦忘れたほうが良いのかもしれませんね。

>従来のExcelVBAマクロとまったく同じ動きをするOOoBasicマクロをマクロを完成させることが一番助かることになります。
Novel 版は、いかがですか?

私個人としては、まだ、日数が浅いので、結論を出すのは早いかもしれませんが、OOoBasic に関する限りは、VBAの中級レベル以上の移植は、UNO/APIの利用以外は不可能ではないかと思っています。しかし、それに関わる時間と労力なら、他の言語を深めたほうが無駄が少ないように思います。

日本のOOoBasicサイトでは、ここの常連なら、誰でも書くCOMやオートメーションを利用したVBAのコードでも出てきません。どうやら、JavaやC++、または、UNOやAPI以外のOOoBasic に関する限りは、VBAとの共有点は少ないようです。

なお、あくまでも、VBA経験者としての発言ですから、当方の誤解や語彙に対する誤謬自体の指摘と訂正は構いませんが、ここの規約にあるように、単なる指摘発言はお断りします。

こんにちは。

私は、OOo は、未だ入門程度です。最近、OOo の質問が増えたことと、その質問を回答してみて、少し難があったので、レベルアップもあって、しばらく勉強してみました。ただ、当分、ここの板での継続した発言の予定はしておりません。

OOoBasicについては、多少の期待はあったのですが、情報も充実していませんし、OOoBasicを追いかけるには、VB系とは違いすぎます。違うといわれるVB.Net のほうがまだVBAに近いです。MS製のCOMさえ、標準で使えないようになっています。閲覧に、IEすら受付ない...続きを読む

Q日産のカルロス・ゴーンの手腕について

ゴーンさんが日産にやって来てどのような点が改善されたのでしょうか?
また、日産は実際にゴーンさんの舵取りで経営は立ち直ったのでしょうか?

ぜひお教えくださいませ。

Aベストアンサー

コストカッターと云われる位コスト削減には効果あったのでしょうが,
肝心の売れる新製品が出ずで経営者としては合格点とは思えません.
一旦沈滞した人事はなかなか立ち直れません.
ますますトヨタには水をあけられてしまいました.
先々代辺りからの後継者選びの失敗でしょう.

QExcelマクロで出るエラー処理(デバック)を出したくないのです。

 こんにちは、よろしくお願いします。 
 Excelにて1、ボタンにマクロを記録し、2、ボタンのロックはかけたままで、3、シートを保護したときに、4、ボタンを押した時に出る
エラーメッセージにてデバックを表示させない方法はありませんか。

簡潔に記載してみましたが、説明不足な点がありましたら追加記載させていただきます。

Aベストアンサー

こんにちは。

フォーム・ツールのボタンですね。

以下の一行を先頭に入れてください。マクロは中止されます。

Sub ....()
If ActiveSheet.ProtectContents Then Exit Sub


End Sub

Q日産のカルロス・ゴーン氏の業績とは

日産のカルロス・ゴーン氏についてお聞きします。
(1)日産はゴーン氏が入るまではどのような状態だったのでしょうか?
(2)どのような業績をあげたのでしょうか?
(3)氏がもたらした価値観とは何でしょうか?

では、ぜひお教え下さいませ。

Aベストアンサー

では非常に簡単に。
1.深刻な販売不振にも関わらず強固な労組と対立が続き、財務状況が著しく悪化。販売台数国内2番手から3番手に転げ落ちてしまっていた。
2.大胆なリストラ(人件費含む各種コストカット)を行い、5年で財務状況を一変させ、国内2位のポジションにも返り咲く。
3.欧米流の「コミットメント」が有名です。要するに全社員に具体的な達成目標を立てさせ、それを達成出来たか否かで評価をするというわけです。

Q表計算で行列の積を計算する方法(OpenOffice、Excel等)

よろしくお願いします。

表計算ソフトで、行列の積を計算する方法を教えてください。

MMULT関数を使って、
=MMULT(1つ目の行列のありか, 2つ目の行列のありか)
とすることはHELPを読んだので知っているのですが、
積の計算結果を出す複数のセルに、具体的にどう記述してよいかがわかりません。

私はオープンオフィス(Microsoft Office と大体同じ機能)を使っていますが、
Microsoft Excel でも、たぶん同じやり方ではないかと思いますので、
エクセルでのやり方を知っている方からの回答もお待ちしております。

Aベストアンサー

sanoriさんなので詳細は略。

http://www.quantunet.com/excel2003/skills/sample/the_mmult_function.html

http://wiki.services.openoffice.org/wiki/Documentation/How_Tos/Calc:_MMULT_function

【Excelと違い,OpenOffice.org Calc 3.0 m21 Build 9319の検証では
F2を押した後のCtrl + Shift + Enterでは配列数式にならなかった】

【OpenOffice.org CalcではExcelと違い,引数の区切りはカンマでなくセミコロンであることにも注意】

#行列中の位置が式上に表現できないので,一見して判るものではないため,個人的にはあまり好きではないが,代替案探すのも面倒なので断念。

Q日産最高経営責任者のカルロスゴーン氏についての疑問を質問します。

日産最高経営責任者のカルロスゴーン氏についての疑問を質問します。


ゴーン氏は、あっちこっちを飛びまわっています。
それもファーストクラスだろうと推測されます。
また、ホテルもスイートルームと予測されます。

今日は、日本明日は中東そしてヨーロッパや中国へと
年中飛行機に乗りまくっています。

そこで質問ですが
ゴーン氏がコツコツと貯めた年間のマイレージはどのくらいになるのでしょうか?

よろしくお願いします。

Aベストアンサー

 グローバルな大企業の経営者は、プライベートジェットを併用するのが普通です。恐らく、この方もそうでしょう。また、毎日、何千マイルも飛行機に乗っていたのでは、執務をする時間や部下からの報告を聞いて判断する時間も取れなくなってしまいます。また、居住の中心としている場所から、他国に行く時は、出来るだけ同じ方向の国、例えば、日本からだとアメリカとメキシコなどへ一括して出かけるなど、また、TV会議も活用しているでしょう。従って、プライベートジェットを除いて通常の飛行機での利用は欧米などへの出張として、せいぜい月に2回、多い月でも4回が良い所でしょう。
 従って、月平均3回として、ファーストクラスのマイルは、飛行距離の150%が普通ですから1年で換算しても50万マイル位でしょうか。

Qエクセルマクロで時間計算のエラー処理

エクセルマクロで、仕事の「開始時間」「終了時間」をInputBox関数を使って入力しています。

質問なんですが、
時間を入力するとき、不正な値を入力したときのエラー分岐をしたいのです。
例えば 6:00 と入力すべき所を誤って 6::0 になったり
ただの数字 6 だったり、開始時間より終了時間が小さかったり
した場合

どのような構文で分岐したら良いのでしょうか
開始時間・終了時間はデータ型を宣言していません
なので
マクロ実行時、型はEmpty 値となって
If 開始時間 ="" Then ・・・としているだけで

空白以外は全て受け付けてしまう仕様になっています。
これを時刻形式の表示(hh:mm) 以外を拒否するためには
どのようすれば良いか分かりません

データ型をDim 開始時間 As Date
にしてみたのですが、このときエラー時分岐判断はどのように
すれば良いのでしょうか

また他に良い方法があれば教えてください

Aベストアンサー

こんにちは。#1です。

#2 さんの
>#1さんほどスマートじゃないけど。
最初に、「いいえ!」

本当は、標準的には、
>On Error GoTo ER:

とするのが普通なのですね。後で、もう一度触れます。

最初に、以下は、ひとつのフレーズです。

>If 開始時間 = "" Or VarType(開始時間) = vbBoolean Then Exit Sub

>この VarType(開始時間) = vbBoolean  ・・・は
>どのような意味になるのでしょう?

変数「開始時間」というのは、Variant 型なので、そこには、二種類の型が入ります。
ひとつは、文字型で、もうひとつは、キャンセルを押したときには、Boolean 型です。戻り値は、False です。もともと、True, False が入るということは予想していませんから、そこで、プロシージャから離脱させるように作ります。

だから、ここがミソです。
 Dim 開始時間 As Variant

もしも、InputBox 関数で書くと、同じ内容でも、もう少し、難しくなってしまいます。
もともと、InputBox 自体がレガシー(過去の遺物)なのですが、InputBox関数と同じ機能を持たせるためには、いわゆる「レガシー機能=StrPrt関数」という方法を使わざるを得なくなるからです。

> If Not (InStr(開始時間, ":") > 1 And IsDate(開始時間))

例えば、数字のみを入れた場合は、IsDate として、日にちとして、受け取ります。
それでは、時間を受け取れることが出来ません。そこで、例 12:12 として、必ず、「: (コロン)」は、2以上の場所にあることが条件になります。しかし、例: 12:12:12:12 では、時間としては受け取れませんので、両方が成り立つときにだけ、ループを離脱して、改めて、
変数「開始時間」は時間として扱うことが出来る、という仕組みになっています。

ところで、これは、「Goto を使うな」というのは、構造化言語を開発した人間の提唱した言葉で、あえて、それに100%従うのはナンセンスなのですが、こういう方法もある、ということぐらいで十分だと思います。

エラー処理は、やはり、Error トラップが簡単です。しかし、なぜ、Errorになるか、ということを良く分かった上で作ったほうがよいと思います。

こんにちは。#1です。

#2 さんの
>#1さんほどスマートじゃないけど。
最初に、「いいえ!」

本当は、標準的には、
>On Error GoTo ER:

とするのが普通なのですね。後で、もう一度触れます。

最初に、以下は、ひとつのフレーズです。

>If 開始時間 = "" Or VarType(開始時間) = vbBoolean Then Exit Sub

>この VarType(開始時間) = vbBoolean  ・・・は
>どのような意味になるのでしょう?

変数「開始時間」というのは、Variant 型なので、そこには、二種類の型が入ります。
ひとつは...続きを読む

Qゴーンガールを超える映画が見当たりません。 みなさんイチオシの映画を教えてください! 洋画邦画問い

ゴーンガールを超える映画が見当たりません。

みなさんイチオシの映画を教えてください!
洋画邦画問いません!

Aベストアンサー

カサブランカです。
これを超える映画にはまだ出会ってません。

QExcelのマクロ 指定した範囲のセルの処理方法

Excel2000のマクロを使って以下のマクロを作っています。

■指定した範囲のセルの値が80以上だったら色をつける

そこで質問なのですが、
range("","").select
でセルの範囲を指定して、そこから選択したセルだけを対象に処理を実行するにはどうしたらいいのか方法がわかりません。どうすればいいでしょうか?
どなたかご解答よろしくお願いします。

Aベストアンサー

↓はANo.1の改良版です。

Sub test()
Dim Rng As Range
Dim c As Range

Set Rng = Range("B2:D10") 'セルの範囲を指定

For Each c In Rng
If c.Value >= 80 Then
c.Interior.ColorIndex = 20
Else
c.Interior.ColorIndex = xlColorIndexNone
End If
Next

End Sub

>実行中にマウスで指定した範囲として処理をしたい場合

↓のようになります。

Sub test2()
Dim Rng As Range
Dim c As Range

On Error Resume Next
Set Rng = Application.InputBox("範囲を指定してください", Type:=8)
On Error GoTo 0

If Rng Is Nothing Then Exit Sub
For Each c In Rng
If c.Value >= 80 Then
c.Interior.ColorIndex = 20
Else
c.Interior.ColorIndex = xlColorIndexNone
End If
Next

End Sub

>For Each c In Rng
>とはどんな感じの処理なのでしょうか?

 セル範囲(Rng、すなわちRange("B2:D10") )内のセルすべてについて処理を行う、といった感じです。

↓はANo.1の改良版です。

Sub test()
Dim Rng As Range
Dim c As Range

Set Rng = Range("B2:D10") 'セルの範囲を指定

For Each c In Rng
If c.Value >= 80 Then
c.Interior.ColorIndex = 20
Else
c.Interior.ColorIndex = xlColorIndexNone
End If
Next

End Sub

>実行中にマウスで指定した範囲として処理をしたい場合

↓のようになります。

Sub test2()
Dim Rng As Range
Dim c As Range

On Error Resume Next
Set Rng = Applic...続きを読む


人気Q&Aランキング

おすすめ情報