(時間を日に)の質問した者ですが、図々しいようですが、再質問。 バイトさんの勤務時間を集計する縦型の表があるのですが、1日から31日までそれぞれ時間と分を打ち込み(セルは別)、最後の合計欄は、例えば時間のセルは40、分のセルは200とかになります。その数値を、分のセルは20(60で割って余った分。けど、実際は3.33になってしまう・・)を表示させ、時間のセルは、分のセルを60で割って得た3の数値を返したい(もちろん、1日から31日までの数値を足してから)。 どんな数式になるんでしょうか。自分でもINTやMODをいじくりまわしたんですが・・  どなたか、お時間ある時で結構ですので・・

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

A 回答 (4件)

前回の回答が生かされていないような・・・


http://qanda.rakuten.ne.jp/qa4992646.html

>例えば時間のセルは40、分のセルは200とかになります。
これを例に
40時間200分
分の部分の計算は
=MOD(200,60)
=20分

時間の部分の計算は
=40+INT(200/60)
=40+3
=43時間
こうゆう事なのでしょうか?

しかし、前回は1日を8時間とすると言う条件があったので
あのような説明をしましたが、今回は普通の時間計算ですので
一般的な時間計算の説明をします
まずは表(_は空白と読み替えてください)
____A___B___C・・・・・・
_1__日付_Aさん_Bさん_・・・・
_2___1_1:20__2:20 ・・・・
_3___2_2:10__0:50 ・・・・
    :   :   :
    :   :   :
30__29_1:40__1:10 ・・・・
31__30_3:20__2:30 ・・・・
32__31_0:30__2:40 ・・・・
33__合計_64:20__58:40 ・・・・

こんな感じの表になっていると思います
時間の入力は時間、分と別々に入力しているようですが
一つのセルに 0:00 の形式で入力した方が計算しやすいと思います
合計の出し方
Aさん
B33へ
=SUM(B2:B32)
B33のセルの表示形式を [h]:mm にすれば表のような表示が出来ます

Bさん
C33へ
=SUM(C2:C32)
セルの表示形式を設定
  :
  :

合計から
日の求め方
=DAY(B33)
時間の求め方
=DAY(B33)*24+HOUR(B33)
分の求め方
=MINUTE(B33)
    • good
    • 0
この回答へのお礼

度々のアドバイス、感謝いたします。うまくいきました。初心者につきあっていただきありがとうございました。でも、回答者さんのような親切な方がいる世の中は、まだまだすてたものではない、と嬉しく思います。ご健康と幸福を祈ります。

お礼日時:2009/06/02 19:54

質問を繰り返しているようだが、基本を理解しないからだと思う。


エクセルでは日、時間は、日付シリアル値でセルの値として保持される。
日付シリアル値で無い数や文字列、数字文字でセルに値が有る場合は
日付シリアル値に変換しないと、経過日数やエクセルの関数や、日付事項の表示形式が使えず、致命的に不便になる。だから我々エクセル利用者はは変換を考えないといけない。
1日が1で1900年1月1日からの実経過に数が整数部になり、時刻部分が(24時間が1なので)小数部の値になる。
9:10:00なんて入れたら、小数部だけの値になる。
あとシートの見た目は、表示形式の設定で色々に見えている。
ほかに留意する点は表示で1[h]を使うと、時間を足したときなど、24時間を越えても時間を日に繰り上げないで表示してくれる。m、sも同じ。
ーーー
以上を読んで質問者が質問を読み直し、考え直し、考えてください

(1)表示形式の設定で課帰結する場合
(2)関数で解決する場合(Year,Month,Day)
(3)それらをY,M,Dを計算(60で割ったり)する必要が有る場合
どれなのか。
一般に、日付シリアル値の入力があれば3番目の必要は少ないはず。
年月日時分などを別セルにしていると、繰り上がりの計算が必要になるが、時分などをセルを分けるのが適当だったのか。
    • good
    • 0
この回答へのお礼

 ありがとうございました。不勉強でご迷惑をかけ、もうしわけありません。  もっと勉強し直します。 結果的には、おかげさまでうまくいきました

お礼日時:2009/06/02 19:50

時間=INT(分の合計セル/60)


または
時間=HOUR(TIME(0,分の合計セル,0))

分=MOD(分の合計セル,60)
または
分=MINUTE(TIME(0,分の合計セル,0))

※24時間を超える場合は上のほうの式を使ってください。
TIME関数の結果は、23時間59分59秒が最大値になり24時間を超えた場合は24時間の剰余になります。
    • good
    • 0
この回答へのお礼

ありがとうございます。うまくいきました!  自分ももっと勉強します

お礼日時:2009/06/02 19:46

回答をするには情報不足です。



そもそも、EXCEL?

ってあたりから不明です!!
    • good
    • 0

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

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

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

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

Qエクセル プルダウンの作り方

お世話になります。
エクセルでプルダウンの作り方を教えていただけませんでしょうか?
住所を▼のボタンでクリックしたら【北海道,青森,秋田,岩手・・・】などの選択ができるようにしたいのです。
宜しくお願いします。

Aベストアンサー

メニューから「データ」、「入力規則」、「設定」で「入力値の種類」を「リスト」を選択します。
そうすると「元の値」という表示がでますので、そこで前もって作っておいたリストの範囲を指定します。
多くないのでしたら、そのままそこにカンマで区切って入力しても出来ます。

Aベストアンサー

書式>条件付き書式

セルの値が 次の値より小さい を選択
値は$B1とし、書式を設定。
設定したセルをコピーすればできませんか?

Qエクセルでプルダウンメニューの作り方

  エクセルの画面で、よく三角形を逆さまにした形をクリックするといくつかメニューが出てき、どれかを選べるようになっていますが、その作り方を教えてください。
 会社で人事を担当していますが、三角形(プルダウンボタン)をクリックすると社員氏名一覧が表示され、そこから選択できるようにしたいのです。
 しばらく自力でいろいろやってみましたが、さっぱり見当がつかず、どうやればいいのか分かりませんでした。よろしくお願いします。

Aベストアンサー

こんばんは!
当方使用のExcel2003での一例です!

↓の画像のようにSheet2に名簿表を作成しておきます。
画像ではSheet2のA2セル以降を範囲指定 → 名前ボックスに仮に「名簿」と入力しOK
これで範囲指定したセルが「名簿」と名前定義されましたので、

Sheet1のリスト表示させたいセルを範囲指定 → メニュー → データ → 入力規則
→ リスト → 「元の値」の欄に
=名簿
としてOK

これでSheet1のセルをアクティブにすると右側に下向き▼が表示されますので、そこをクリック!
これで希望に近い形にならないでしょうか?
Excel2007の場合は↓のURLが参考になるかもしれません。

http://www.eurus.dti.ne.jp/~yoneyama/Excel2007/excel2007-ny_kis2.html

尚、同一Sheetに「名簿表」を作成する場合は名前定義する必要はなくて
「元の値」の右側の四角をクリックし、リスト表示したいセルをそのまま範囲指定すればOKです。

以上、お役に立てば良いのですが・・・m(_ _)m

こんばんは!
当方使用のExcel2003での一例です!

↓の画像のようにSheet2に名簿表を作成しておきます。
画像ではSheet2のA2セル以降を範囲指定 → 名前ボックスに仮に「名簿」と入力しOK
これで範囲指定したセルが「名簿」と名前定義されましたので、

Sheet1のリスト表示させたいセルを範囲指定 → メニュー → データ → 入力規則
→ リスト → 「元の値」の欄に
=名簿
としてOK

これでSheet1のセルをアクティブにすると右側に下向き▼が表示されますので、そこをクリック!
これで希望に近い形にならない...続きを読む

Q数値が入っているセル全てを割った数値に直したい

エクセルに、あるデータの表があり、それぞれのセルに数値が入っているのですが、その数値を1,000,000で割ったものを、小数点第2位で四捨五入した数値にしたいのですが、今、数値が入っているセル全てを一気にやることはできませんでしょうか?量がたくさんあるので・・・
例えば、
北海道   674,000  → 0.7
関東    68,219,310 → 68.2

よろしくお願い致します。 excel2000です。

Aベストアンサー

以下の手順で行けると思います,

(1)1,000,000 をどこかのセルに入力する。
(2)そのセルを右クリック→コピー
(3)割りたい数字のセルを範囲指定して,右クリック→形式を選択して貼り付け
(4)演算の項の「除算」をチェックしOK
(5)後は,「小数点表示桁下げ」ボタンで調整

EXCEL97でやりましたが,同じだと思います。

Qエクセル(Excel) 納品書の作り方【画像修正版

昨日http://oshiete.goo.ne.jp/qa/7348426.htmlで質問させていただき、詳しくご回答いただき少し進んだのですが、状況が変わったので改めて質問させていただきます。

■エクセル(Excel)で納品書の作成をしています。
シート1に納品書、シート2に商品マスタ(一覧)を作っていて、シート2の一覧を反映させて
納品書に番号を打ち込むだけで、商品名・単価までが出るシステムを作りたいのですが、
昨日のご回答の中の「VLOOKUP」?を入れて、自分なりにマス目の数字を変えてやってみたのですが
反映されずN/?のようなエラーになってしまいます。

※画像が見にくかったのでシート<CENTER></CENTER>だけにしました。

1、上記のように、シート2との関連付けの係数を、写真の場合の数字で教えてください。

2、合計と、合計から20%を引いた数値を割り出す関数も、写真の数字で御願いします。

宜しくご教授お願い致します。

Aベストアンサー

こんばんは!
前回投稿した者です。

当方もかなり古い(人間も古い!なぁ~んちゃって!)Excel2003を使用しています。
↓の画像のようにSheet2にデータを作成しておきます。

#N/A というエラーは、「検索値」がない!ということですので
お示しの画像のB列にSheet2のA列にないデータを入力するとそういったエラーが表示されます。

画像のセル配置ですと
C4セルに
=IF($B4="","",VLOOKUP($B4,Sheet2!$A:$C,COLUMN(B1),0))
(「$」マークの位置に気を付けてください)
という数式を入れD4セルまでオートフィルでコピー!
そのまま最後の24行目までコピーしておきます。

F4セルには
=IF(COUNTBLANK(B4:E4),"",D4*E4)
という数式を入れ、F24までオートフィルでコピー!

これでB列に商品番号を入力すればSheet2のデータが反映され、
E列に数量を入力でF列に金額が表示されると思います。

最後に合計金額のF26セルは
=IF(COUNT(F4:F24),SUM(F4:F24),"")
手数料のF27セルは
=IF(F26="","",F26*0.2)

これで何とか形にならないでしょうか?

※ 振込金額の欄は不明ですので手を付けていません。

参考になりますかね?m(_ _)m

こんばんは!
前回投稿した者です。

当方もかなり古い(人間も古い!なぁ~んちゃって!)Excel2003を使用しています。
↓の画像のようにSheet2にデータを作成しておきます。

#N/A というエラーは、「検索値」がない!ということですので
お示しの画像のB列にSheet2のA列にないデータを入力するとそういったエラーが表示されます。

画像のセル配置ですと
C4セルに
=IF($B4="","",VLOOKUP($B4,Sheet2!$A:$C,COLUMN(B1),0))
(「$」マークの位置に気を付けてください)
という数式を入れD4セルまでオートフィルで...続きを読む

Qエクセルでセル内の特定数値を他セルの数値で置換

エクセルで下記のようなことを行いたいです。アドバイスお願い致します。

●処理前
A1⇒ 2151  B1⇒ RSS1234  C1⇒ RSS1234+RSX1234
A2⇒ 3412  B2⇒ RSS5678  C2⇒ RSS5678+RSX5678
A3⇒ 5486  B3⇒ RSS3456  C3⇒ RSS3456+RSX3456




●処理後要望
A1⇒ 2151  B1⇒ RSS2151  C1⇒ RSS2151+RSX2151
A2⇒ 3412  B2⇒ RSS3412  C2⇒ RSS3412+RSX3412
A3⇒ 5486  B3⇒ RSS5486  C3⇒ RSS5486+RSX5486



A列が空白になるまで上記置換が行われる。


となるようなVBAを作りたいのです。
アドバイスお願い致します。

Aベストアンサー

 置換をしたい範囲を選択しているシート上にあるC列~D列としますと、次の様なVBAマクロは如何でしょうか?


Sub Macro()

Dim SN As String
Dim LR As Long

SN = ActiveSheet.Name
ActiveSheet.Select
If Application.WorksheetFunction.Count(Columns("A:A")) = 0 Then Exit Sub
LR = Application.WorksheetFunction.Match(9E+307, Columns("A:A"))
Range("B1:D" & LR).Replace What:="=", Replacement:=" ="
Sheets.Add After:=Sheets(Sheets.Count)
Sheets(SN).Select
Sheets(Sheets.Count).Range("C1:D" & LR).FormulaR1C1 = _
"=SUBSTITUTE('" & SN & "'!RC,MID('" & SN & "'!RC2,MIN(" & _
"IF(ISNUMBER(FIND(0,'" & SN & "'!RC2)),FIND(0,'" & SN & "'!RC2),LEN('" & SN & "'!RC2)+1)," & _
"IF(ISNUMBER(FIND(1,'" & SN & "'!RC2)),FIND(1,'" & SN & "'!RC2),LEN('" & SN & "'!RC2)+1)," & _
"IF(ISNUMBER(FIND(2,'" & SN & "'!RC2)),FIND(2,'" & SN & "'!RC2),LEN('" & SN & "'!RC2)+1)," & _
"IF(ISNUMBER(FIND(3,'" & SN & "'!RC2)),FIND(3,'" & SN & "'!RC2),LEN('" & SN & "'!RC2)+1)," & _
"IF(ISNUMBER(FIND(4,'" & SN & "'!RC2)),FIND(4,'" & SN & "'!RC2),LEN('" & SN & "'!RC2)+1)," & _
"IF(ISNUMBER(FIND(5,'" & SN & "'!RC2)),FIND(5,'" & SN & "'!RC2),LEN('" & SN & "'!RC2)+1)," & _
"IF(ISNUMBER(FIND(6,'" & SN & "'!RC2)),FIND(6,'" & SN & "'!RC2),LEN('" & SN & "'!RC2)+1)," & _
"IF(ISNUMBER(FIND(7,'" & SN & "'!RC2)),FIND(7,'" & SN & "'!RC2),LEN('" & SN & "'!RC2)+1)," & _
"IF(ISNUMBER(FIND(8,'" & SN & "'!RC2)),FIND(8,'" & SN & "'!RC2),LEN('" & SN & "'!RC2)+1)," & _
"IF(ISNUMBER(FIND(9,'" & SN & "'!RC2)),FIND(9,'" & SN & "'!RC2),LEN('" & SN & "'!RC2)+1)" & _
"),4),'" & SN & "'!RC1)"
Sheets(SN).Range("C1:D" & LR).Value = Sheets(Sheets.Count).Range("C1:D" & LR).Value
Application.DisplayAlerts = False
Sheets(Sheets.Count).Delete
Application.DisplayAlerts = True
Range("B1:D" & LR).Replace What:=" =", Replacement:="="

End Sub

 尚、上記のマクロは、あくまで

>⇒B列には、必ず数値が含まれております。
>置換をしたい範囲のセル(D列までとすれば、B~D列)には、VBが走る前の初期状態ではいずれも必ず同じ4桁の数値が含まれている状態に致します。

という条件が満たされている場合においてのみ有効なマクロです。
 もしB列に入力されている文字列が、例えば

R2S1234

等の様に4桁ではない数字(この場合は「2」)が、4桁の数字よりも前の部分に含まれているものであった場合には、正しい結果を得られませんので注意して下さい。

 置換をしたい範囲を選択しているシート上にあるC列~D列としますと、次の様なVBAマクロは如何でしょうか?


Sub Macro()

Dim SN As String
Dim LR As Long

SN = ActiveSheet.Name
ActiveSheet.Select
If Application.WorksheetFunction.Count(Columns("A:A")) = 0 Then Exit Sub
LR = Application.WorksheetFunction.Match(9E+307, Columns("A:A"))
Range("B1:D" & LR).Replace What:="=", Replacement:=" ="
Sheets.Add After:=Sheets(Sheets.Count)
Sheets(SN).S...続きを読む

Qエクセル(Excel) 納品書の作り方【改めて】

昨日http://oshiete.goo.ne.jp/qa/7348426.htmlで質問させていただき、詳しくご回答いただき少し進んだのですが、状況が変わったので改めて質問させていただきます。

■エクセル(Excel)で納品書の作成をしています。
シート1に納品書、シート2に商品マスタ(一覧)を作っていて、シート2の一覧を反映させて
納品書に番号を打ち込むだけで、商品名・単価までが出るシステムを作りたいのですが、
昨日のご回答の中の「VLOOKUP」?を入れて、自分なりにマス目の数字を変えてやってみたのですが
反映されずN/?のようなエラーになってしまいます。

※画像が貼り付けてあります。商品名は1番以外伏せさせていただいています。
くっつけてありますが、左側がシート1・右側がシート2です。

1、上記のように、シート2との関連付けの係数を、写真の場合の数字で教えてください。

2、合計と、合計から20%を引いた数値を割り出す関数も、写真の数字で御願いします。

宜しくご教授お願い致します。

Aベストアンサー

画像がいまいちよく見えないのですが、納品書の項目は左から、No、商品番号、商品名、単価、数量、金額でいいのでしょうか(名前は多少違っていても意味があっていればもんだいないです)

でしたら、
C1セルに=IF(ISBLANK(B2),"",VLOOKUP(B2,Sheet2!$A$2:$C$200,2,FALSE))
D1セルに=IF(ISBLANK(B2),"",VLOOKUP(B2,Sheet2!$A$2:$C$200,3,FALSE))
E1セルは空白で
F1セルに=IF(D2="","",D2*E2)
といれて、C1からF1までをコピーしてその下の行にタテに貼り付ければ出来ますよ。
おそらくエラーが出たのは、コピーしたときにVLOOKUP関数の最初のセルの指定がずれてしまっているのでは無いかと思いますよ。     

Qエクセルのセル1の指定のセルの数値を、別のシートのセルに追加記録していく方法

シート1のA1とA2に数値(任意)を入力します。

そして、シート1にあるボタン(決定ボタン的なものです。)を押すと、

シート2の
A1に”シート1のA1の数値”
A2に”シート1のA2の数値”

を記録し、シート1のA1とA2をクリアします。(数値を消去)

そして新たに、シート1のA1とA2に数値を入力し、
シート1のボタンを押すと

シート2のB1に”シート1のA1の数値”
シート2のB1に”シート1のA2の数値”

を記録といったように、横方向に自動で追加していきたいです。

 ※次はC1とC2です。

どなたかお分かりなられる方教えてください。
よろしくお願いします。

Aベストアンサー

時間の記録については、シート1のC4の欄に

=NOW()

と入力して、セルの書式設定で、表示形式を「時刻」の「13:30:55」等(質問者様のお好きな書式)に変えます。
その上で、先ほどのマクロの記述を下記のように書き換えます。

Sub Macro1()
Dim a1, a2
Dim time

Calculate
a1 = Range("C2").Value
a2 = Range("C3").Value
time = Range("C4")
Sheets("Sheet2").Select
Range("C5").Select
Do While ActiveCell <> ""
ActiveCell.Offset(0, 1).Range("A1").Select
Loop
ActiveCell = a1
ActiveCell.Offset(1, 0) = a2
ActiveCell.Offset(-1, 0) = time
Sheets("Sheet1").Select
Range("C2:C3").Select
Application.CutCopyMode = False
Selection.ClearContents
Range("A1").Select
End Sub

先ほどの記述と変わった点がいくつかありますが、ひとつひとつについては説明しませんので、よく見てご確認ください。

これを実行すると、シート2のC4から右側にボタンを押した時刻が表示されますので、この部分のセル書式の表示設定も「時刻」の表示になるように変える必要があります。

時間の記録については、シート1のC4の欄に

=NOW()

と入力して、セルの書式設定で、表示形式を「時刻」の「13:30:55」等(質問者様のお好きな書式)に変えます。
その上で、先ほどのマクロの記述を下記のように書き換えます。

Sub Macro1()
Dim a1, a2
Dim time

Calculate
a1 = Range("C2").Value
a2 = Range("C3").Value
time = Range("C4")
Sheets("Sheet2").Select
Range("C5").Select
Do While ActiveCell <> ""
ActiveCell.Offset(0, 1).Range("A1").Select
Loop
ActiveCell = a1
Ac...続きを読む

Qエクセル2007でプルダウンで選んだものに反応

Excel2007でプルダウンで選んだものに反応して隣のセルが自動入力される方法(エクセル2007)
A1をプルダウンで「猫」「犬」から選べるようにし、「猫」を選んだ場合B1に自動に「111」が、「犬」を選んだ場合B1に自動に「222」と入力されるようにしたいです。
ご教授の程、宜しくお願いします。

Aベストアンサー

VLOOKUP関数での方法です。
(1)別シートに入力文字列と対応コード表を作成。(仮にSheet2のA:B列範囲で順不同)
(2)B1に=IF(COUNTIF(Sheet2!A:A,A1),VLOOKUP(A1,Sheet2!A:B,2FALSE),"")を設定
   入力文字列が存在しない場合は空白としています。

Qエクセル時間(分)の計算を60分の比率で表示したい

エクセルで時間の計算をしています。


A1セルに 18:30
A2セルに 18
と表示されています。(シリアル値が入力されていてセルの書式設定で時刻のみを表示しています。)

A1-A2 = 0:30と表示されます。

0:30の30分ではなく、0.5と表示されるようにするにはどうすればよいでしょうか

アドバイスよろしくお願いいたします。

Aベストアンサー

=(A1-A2)*24 
セルの書式設定を標準にする

時刻データ (0:30) を、計算できる数値 (0.5) に変換するには
http://support.microsoft.com/kb/881211/ja


人気Q&Aランキング

おすすめ情報