【無料配信♪】Renta !全タテコミ作品第1話

Googleのスプレッドシートの例えばA1~A100までに時間:分:秒(19:06:21)の形式で1ヶ月分の発生時刻がずらっと縦に入力されている場合、それぞれの時間の部分だけを抜き出して利用し、それぞれの時間帯の色んな件数を集計したいです。
例えば毎日何時ごろによく発生するか?、そしてその場合YESだったのかNOだったのか?(YESだった場合1を入力してあります)です。
Excelでは=HOUR(A1)で「19」と答えを出せますが、Googleのスプレッドシートでは上手くいきません。
どうしたら良いか教えて頂けると助かります。

A 回答 (2件)

「hour関数が使えなくなる設定」というのはないですね。



ちなみに、19:06:21ではダメですよ。Excelだと勝手に19:06:21に変更されちゃいますけど、Googleはそんなことしません。ちゃんと区別して正しい入力が必要です。
「Googleスプレッドシートで時間帯別に」の回答画像2
    • good
    • 0
この回答へのお礼

ありがとうございました!解決しました。

お礼日時:2019/03/12 14:42

え、hour関数普通に使えますけど。

「Googleスプレッドシートで時間帯別に」の回答画像1
    • good
    • 0
この回答へのお礼

普通に使えていないから質問しているんですが。。。
どこか設定でしょうかね。
普段使っているのがExcel2007なので使い勝手が今ひとつわからないのです。

お礼日時:2019/03/06 22:31

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

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

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

Qエクセル シート毎 連続で曜日を入れる

仕事で2年分の日付の入ったエクセルのシートに曜日をいれなくてはならないのですが、一つ一つやっていられないので簡単にできる方法教えてください。

Aベストアンサー

こんなやり方もあるよ。
https://www.atmarkit.co.jp/ait/articles/1708/02/news014.html

QExcelで土、日、祝日の色分けがうまくいきません

Excelでシフト表を作成しています。列に日付を入力し、行に担当者を入力しています。担当者は1日当たり2セルを使用するため、日付は2セルを結合しています。この時「条件付き書式」を用い土、日、祝日の色分けをしようとしましたが、Weekday関数を使用していますが、関数のセル指定を1つ目のセルを指定しても「:」を使って2つ目のセルを指定しても担当者の1つ目のセルしか色がつきません。どうすればいいでしょうか。

Aベストアンサー

諦める。

QエクセルのSUMが合わなくて困ってます! A1~B30にそれぞれ数値があります。 A1~A30の合計

エクセルのSUMが合わなくて困ってます!
A1~B30にそれぞれ数値があります。
A1~A30の合計は電卓なら合計100なのに表示は90。(A31にSUM (A1:A30))
B1~B30の合計は電卓なら合計100なのに表示は110。(B31にSUM (B1:B30))

すみません、これだけの説明で何かわかりますか??

Aベストアンサー

A1~A30をドラッグで選択すると、右下の枠外に合計値が表示されます。
90なら、あなたの計算が間違えてます。

100なら、循環参照等をしていませんか?
セルをコピーして、数値で張り付けしてみて、同じ計算をしてみてください。

Qコピー貼り付けについて

このようなことが、できるでしようか。お教え下さいませんか。
シート1のB2~P列の最終行を取得してコピー、シート2のA2のO列の間に貼り付けたい。
但し、シート1は関数処理していて、シート2には値だけを貼り付けたい時のマクロはどのようなコードにすればよいでしょうか。
また、罫線はそののままコピーして貼り付けたい。
更に、シート1のB2からB列の最終行までは、黄色のセルになっているので、それもシート2のA2~A列の最終行まで貼り付けることってできますか。
マクロコードをお教え頂けますでしょうか。よろしくお願いします。

Aベストアンサー

出来るけど・・・・

マクロでは無くて、貴方の操作でなら実現出来るのですか?
なら、マクロの記録でも行って、どういうマクロが記録されるか確認すれば如何様にでも応用できますね

そうやって自分で解決する方法を理解しないと
コピペばかりでは、いつまでたっても自分で問題解決出来ません

Q初期値をIF文で設定した後入力リストで入力を行いたい

セルの入力の時に、先ずIF文で初期値(この場合日曜だったら「法休」)を設定した後に、別に用意した入力リストに基いて入力がしたいのですが、入力リストによる入力規則を設定するとIF文が効かなくなります。この場合どうすればいいですか?

Aベストアンサー

どうにもなりません。数式があった場所に値を入力すれば数式は無くなりますし、値があったところに数式を書き込めば値は無くなります。一つのセルに入れられるのは一つだけです。

Qエクセル プルダウン連動について

わかる方教えてください
プルダウンを連動するため、ネットを見ながら下記のように設定したいのですが
うまくいきません

シート1に下記のようにデータがあるとします
 A     B     C       D
1品番   品名    パーツ  金額
2VB7 カメラ  レンズ  \3,000
3VB6 カメラ  レンズ  \2,500
4VB7 カメラ  ボディ  \1,500


名前の定義を行い A列を品番として設定
その後 選択範囲から作成を指定し
A列~D列を全部の範囲を設定し
左端列で設定

シート2

D20のセルを入力規則により名前の定義を行った品番を対象にリスト化

その後 F20に=INDIRECT(D20)を設定を実施

連動するか検証を行ったところ

D20 VB7を選択
F20を狙いとしてはVB7のパーツだけを選択できるようにしたいが、
実際は
F20 カメラ,レンズ,\3000,ボディ,\1,500と全部選べるようになってしまう

パーツだけリスト化するにはどうすればいいのでしょうか?

わかる方教えてください
プルダウンを連動するため、ネットを見ながら下記のように設定したいのですが
うまくいきません

シート1に下記のようにデータがあるとします
 A     B     C       D
1品番   品名    パーツ  金額
2VB7 カメラ  レンズ  \3,000
3VB6 カメラ  レンズ  \2,500
4VB7 カメラ  ボディ  \1,500


名前の定義を行い A列を品番として設定
その後 選択範囲から作成を指定し
A列~D列を全部の範囲を設定し...続きを読む

Aベストアンサー

こんにちは!

お示しのデータの配置そのままで処理しなければならないのですね。
表の配置を工夫すればINDIRECT関数で出来そうですが、
一案です。
VBAとの併用になります。

Sheet2の作業用の列に「リスト候補」を表示させてみてはどうでしょうか?
配置がよく判らないので、やり方だけ・・・

まず↓のコードをSheet2のシートモジュールにしてください。

Private Sub Worksheet_Change(ByVal Target As Range)
 Dim i As Long, lastrow As Long
 Dim wS As Worksheet
  If Intersect(Target, Range("D:D")) Is Nothing Or Target.Count > 1 Then Exit Sub
   Set wS = Worksheets("Sheet1")
    If Target <> "" Then
     lastrow = Cells(Rows.Count, "H").End(xlUp).Row
      If lastrow > 1 Then
       Range(Cells(2, "H"), Cells(lastrow, "H")).ClearContents
      End If
     For i = 2 To wS.Cells(Rows.Count, "A").End(xlUp).Row
      If wS.Cells(i, "A") = Target Then
       Cells(Rows.Count, "H").End(xlUp).Offset(1) = wS.Cells(i, "C")
      End If
     Next i
    End If
End Sub

次にSheet2のF列リスト表示させたいセルを範囲指定 → データの入力規則 → リスト → 元の値の欄に
=OFFSET(H$1,1,,COUNTA(H:H)-1)

という数式を入れます。

これでD列データの変更があるたびに、D列と対応するSheet2のC列データがH列に表示され、
それをF列のリストに表示させることができます。

※ 本来であれば、D列のデータ消去の場合など細かい処理が必要だと思うのですが、
まずはこの程度で・・・m(_ _)m

こんにちは!

お示しのデータの配置そのままで処理しなければならないのですね。
表の配置を工夫すればINDIRECT関数で出来そうですが、
一案です。
VBAとの併用になります。

Sheet2の作業用の列に「リスト候補」を表示させてみてはどうでしょうか?
配置がよく判らないので、やり方だけ・・・

まず↓のコードをSheet2のシートモジュールにしてください。

Private Sub Worksheet_Change(ByVal Target As Range)
 Dim i As Long, lastrow As Long
 Dim wS As Worksheet
  If Intersect(Target, Range("D:D"))...続きを読む

Q【至急】VBAわかる方、ご教示ください。 ▫️やりたいこと Sheet1のA1から2行飛ばしでShe

【至急】VBAわかる方、ご教示ください。
▫️やりたいこと
Sheet1のA1から2行飛ばしでSheet2のA列を貼り付け
Sheet1のA2から2行飛ばしでSheet2のB列を貼り付け
Sheet1のB1から2行飛ばしでSheet2のD列を貼り付け
Sheet1のB2から2行飛ばしでSheet2のC列を貼り付け
A4サイズで印刷


Application.ScreenUpdating=False
Worksheets (“Sheet1).select
Worksheets (“Sheet2).select
Range(“A1”).Select
Selection.End(xldown).Select
Saigo=ActiveCell.Row

If Renge(“A2”)=“”then
Saigo=1
End if

If Saigo=1 Then
Err=8
Application.Run”errs Shoto”
Exit Sub
End If

For i=2 to Saigo
Worksheetts(“Sheet2”).Select
kiban =cells(i,1)
Worksheets (“Sheet1”).select
Range(“A1”)=kiban
ActiveWindow.SelectedSheets.PrintOut Collate:=tire

どうしたらいいでしょうか…

【至急】VBAわかる方、ご教示ください。
▫️やりたいこと
Sheet1のA1から2行飛ばしでSheet2のA列を貼り付け
Sheet1のA2から2行飛ばしでSheet2のB列を貼り付け
Sheet1のB1から2行飛ばしでSheet2のD列を貼り付け
Sheet1のB2から2行飛ばしでSheet2のC列を貼り付け
A4サイズで印刷


Application.ScreenUpdating=False
Worksheets (“Sheet1).select
Worksheets (“Sheet2).select
Range(“A1”).Select
Selection.End(xldown).Select
Saigo=ActiveCell.Row

If Renge(“A2”)=“”then
Saigo=1
End if

If Saigo=1 Then
Err=8
...続きを読む

Aベストアンサー

こんばんは

以下でどうでしょうか。
Sub sumple2()
Application.ScreenUpdating = False

Dim s1 As Worksheet, s2 As Worksheet, saigo As Long, i As Long, k as long
Set s1 = Sheets("sheet1")
Set s2 = Sheets("sheet2")
saigo = s2.Range("A1").End(xlDown).Row

'if saigo = 云々は省略

With s2
  For i = 2 To saigo
    k = (i - 2) * 3 +1
    s1.Cells(k, 1) = .Cells(i, 1)     
    s1.Cells(k + 1, 1) = .Cells(i, 2)
    s1.Cells(k, 2) = .Cells(i, 4)
    s1.Cells(k + 1, 2) = .Cells(i, 3)
  Next i
End Wtih

s1.PrintOut Collate:=tire

Application.ScreenUpdating = True
End Sub

No.2の方の回答と基本的には同義です。少し見やすくなったくらいでしょうか。

印刷については、シート1を印刷するものとお見受けしたためそうしています。PrintOutメソッドはワークシートオブジェクトに使えばそのシートのみを印刷できます。
用紙サイズについてはVBAではなく、あらかじめページ設定をA4にしておくのをお勧めします。

こんばんは

以下でどうでしょうか。
Sub sumple2()
Application.ScreenUpdating = False

Dim s1 As Worksheet, s2 As Worksheet, saigo As Long, i As Long, k as long
Set s1 = Sheets("sheet1")
Set s2 = Sheets("sheet2")
saigo = s2.Range("A1").End(xlDown).Row

'if saigo = 云々は省略

With s2
  For i = 2 To saigo
    k = (i - 2) * 3 +1
    s1.Cells(k, 1) = .Cells(i, 1)     
    s1.Cells(k + 1, 1) = .Cells(i, 2)
    s1.Cells(k, 2) = .Cells(i, 4)
    s1.Cells...続きを読む

Q2つのそれぞれの条件で検索する方法を教えてください。

いつもお世話になっております。

またご教授いただければ幸いです。

A列(A3は固定)とB列に入力すればL列にDJ列のデータが入るようにしたいと思います。
別々の関数でしましたが、それぞれに違う検索元のデータが返ってきました。

画像1

=IF(COUNTIFS($DH$5:$DH$85,$A$3,$DI$5:$DI$85,B3),
INDEX($DJ$5:$DJ$85,SUMPRODUCT(($DH$5:$DH$85=$A$3)*($DI$5:$DI$85=B3)*(ROW($DJ$5:$DJ$85)-1))),"データなし")

検索元
A B C A B C
1 1 5 → 1 1 2
1 2 4 → 1 2 1


画像2

=IF(SUMPRODUCT((DH$5:DH$85=$A$3)*(DI$5:DI$85=B3)*ROW(DJ$5:DJ$85)),
INDEX(DJ$5:DJ$85,SUMPRODUCT((DH$5:DH$85=$A$3)*(DI$5:DI$85=B3)*ROW(DJ$5:DJ$85))),"")

検索元
A B C A B C
1 1 5 → 1 1 1
1 2 4 → 1 2 9 と別の数字が入ってしまいます。

お知恵を貸していただけるとありがたいです。
よろしくお願いいたします。

いつもお世話になっております。

またご教授いただければ幸いです。

A列(A3は固定)とB列に入力すればL列にDJ列のデータが入るようにしたいと思います。
別々の関数でしましたが、それぞれに違う検索元のデータが返ってきました。

画像1

=IF(COUNTIFS($DH$5:$DH$85,$A$3,$DI$5:$DI$85,B3),
INDEX($DJ$5:$DJ$85,SUMPRODUCT(($DH$5:$DH$85=$A$3)*($DI$5:$DI$85=B3)*(ROW($DJ$5:$DJ$85)-1))),"データなし")

検索元
A B C A B C
1 1 5 → 1 1 2
1 2 4 → 1 2 1


画像2

=IF(SUMPRODUCT((D...続きを読む

Aベストアンサー

どちらもINDEXの参照元と行番号の関係がおかしい!
参照元をDJ$5:DJ$85とするなら
DJ$5の場所は行番号が1でないといけないが、
画像1のROW($DJ$5:$DJ$85)-1だと4→DJ8=2
画像2のROW($DJ$5:$DJ$85)だと5→DJ9=1
になる
ROW($DJ$5:$DJ$85)-4
にしないといけないのでは?

Q何年何カ月以上なら○○ という風な条件分け

有給日数の計算しています
=DATEDIF(G18,$G$2,"Y")&"年"&DATEDIF(G18,$G$2,"YM")&"ヶ月"
の様な計算式で 1年6カ月 というような表示形式で雇用年数を算出しています
6カ月以上なら 10
1年6カ月以上なら 11
2年以上なら 13
等という計算は出来るでしょうか?

また次の問題として、A~Cのセルに「*」をいれて区分分けしています
区分によって ○○が変わります
6カ月以上なら ○○
1年6カ月以上なら ○○
2年以上なら ○○

色々やってるのですが、何年何カ月の表記から条件分けで躓いてしまいました
ご指南頂ければ幸いです

Aベストアンサー

あなたが使っている数式は年数を返しません。見た目だけ整った役に立たない文字列です。DATEDIF(G18,$G$2,"M") で月数を求め、6以上、18以上、24以上などの区分で好みの値を返す対応表を作りましょう。

=vlookup(datedif(G18,$G$2, "M"), 対応表, 2)

Q【関数】複数条件に応じてポイントをつけたい

お世話になっております。

条件によってポイント付与する数式を組みたいのですが
条件が複雑で、どのような関数を組めば良いか、関数の知識も乏しく頭を悩ませております。
詳しい方教えて頂けないでしょうか?

K列 担当者ID
L列 計画
M列 実績
N列 達成率
O列 達成額/未達額
P列 ポイント付与欄

上記のようなデータがあります。

下記条件で、O列「達成額/未達額」の降順にポイントを付与したいです。
その際、下記の条件でポイントを付与したいのです。

ポイント集計先
①黄色セル K5~K18:担当者ID
➁赤色セル K4:部門コード
※画像添付いたします。

ポイント付与条件別表
黄色セル E列:担当者ID ※上記①と紐づく
ピンクセル F列:担当者に紐づく主担当部門コード ※上記➁と紐づく
※補足へ画像添付いたします。

★条件★
・基本
O列
①「達成額/未達成額」が0以上なら降順に10Pからポイント付与
➁「達成額/未達成額」が0orマイナスならポイント付与せず
※ただし、マイナスでも実績があればポイント付与

上記、基本条件に加えて、下記条件も組み込みたいです。
①担当者ID+主担当部門コードが紐づけはO列に10PからポイントMAX付与
➁担当者ID+主担当部門コード以外だったら該当ポイントの1/2付与
かつ、「達成額/未達成額」が0orマイナスなら1/2のポイントの半分付与

何卒、よろしくお願いいたします。

お世話になっております。

条件によってポイント付与する数式を組みたいのですが
条件が複雑で、どのような関数を組めば良いか、関数の知識も乏しく頭を悩ませております。
詳しい方教えて頂けないでしょうか?

K列 担当者ID
L列 計画
M列 実績
N列 達成率
O列 達成額/未達額
P列 ポイント付与欄

上記のようなデータがあります。

下記条件で、O列「達成額/未達額」の降順にポイントを付与したいです。
その際、下記の条件でポイントを付与したいのです。

ポイント集計先
①黄色セル...続きを読む

Aベストアンサー

まず基本条件の方からいきます。
1.セルP5に 「 =IF($M5>0,MAX(10+1-RANK.AVG($O5,IF($M$5:$M$1000>0,$O$5:$O$1000,"")),0),"") 」を入力します。
2.必要なだけ下方向にコピーします。(完了)

*RANK.AVG関数で”達成額/未達成額”の順にランキング(1~)をつけ、11から差し引く、という方法をとります
*”実績”がマイナスのものはランキング付けそのものから除外するので、IF関数で検索対象の配列を絞り込みます
(IF関数に配列を入れたら答えも配列で返してくれるので、その絞り込んだ配列に対してRANK.AVR関数を使います。)
*マイナスのポイントは排除したいので、MAX関数でゼロと比較して正の値のみを採択します

追加条件込みの方は、以下です。
1.セルP5に 「 =IF($M5>0,MAX(10+1-RANK.AVG($O5,IF($M$5:$M$1000>0,$O$5:$O$1000,"")),0)*IF(VLOOKUP($K5,$E$3:$F$1000,2,FALSE)=$K$4,1,IF($O5>0,0.5,0.25)),"") 」を入力します。
2.必要なだけ下方向にコピーします。(完了)

*担当IDから担当部門コードの検索にはVLOOK関数を使います。VLOOK関数が正常に動作するには、担当IDに漏れがない事と番号順に並んでいる事が必要ですので、これ前提で考えて下さい。
*追加条件に準じ、ポイントを1倍したり、0.5倍したり、0.25倍したり、しました。

まず基本条件の方からいきます。
1.セルP5に 「 =IF($M5>0,MAX(10+1-RANK.AVG($O5,IF($M$5:$M$1000>0,$O$5:$O$1000,"")),0),"") 」を入力します。
2.必要なだけ下方向にコピーします。(完了)

*RANK.AVG関数で”達成額/未達成額”の順にランキング(1~)をつけ、11から差し引く、という方法をとります
*”実績”がマイナスのものはランキング付けそのものから除外するので、IF関数で検索対象の配列を絞り込みます
(IF関数に配列を入れたら答えも配列で返してくれるので、その絞り込んだ配列に対してRAN...続きを読む


人気Q&Aランキング