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

文字だけや、円形の、一般によくある時計ではなくて、時・分・秒を棒グラフで表した、Excelを立ち上げれば常に動いている、普通の円形時計を、棒グラフ状にしたイメージの時計を作りたいと思っています。
時の棒グラフ・分の棒グラフ・秒の棒グラフと、3つの棒グラフに分かれており、秒のバーが
60秒まで到達したら0に戻り分の棒グラフが一つ進み、分の棒グラフが60分に到達したら、時の棒グラフが一つ進むという、イメージの時計です。常に動いているというところをどのようにしていいのかを考えています。

A 回答 (1件)

添付画像のようなシートって、作れますか?


1時間も眺めていられないので、分秒だけのサンプルです。
B1セルには次のような式が入っています。

【B1セル】=MINUTE(NOW())

このシートを作った上で、次のマクロを起動してみて下さい。

Sub myTimer()
Worksheets("Sheet1").Range("A1:A2").Calculate
Application.OnTime Now + TimeValue("00:00:01"), "myTimer"
End Sub

ちなみに、あまり正確な時刻は刻めないので、お遊びと思ってくださいね。
「Excelで棒グラフの形をした時計を作り」の回答画像2
    • good
    • 0

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

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

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

Q4142から653347と飛んでます。 これを4143からちゃんと並ぶにはどうすればいいでしょうか?

4142から653347と飛んでます。
これを4143からちゃんと並ぶにはどうすればいいでしょうか?

Aベストアンサー

これ、9から70に飛んでるよね。

①シート全体を選択
②どの行でもいいので右クリック
③再表示を選択

開いたかな?

QCSVで文字化けしてしまうのを直すマクロ

いつもお世話になっております。
Excel2013を使用していますので
アドバイスどうぞよろしくお願いします。

"ファイル名"というシートのA列2行目からCSVファイルのファイル名が書いてあります。
日によるのですが、だいたい5~10件程度です。
そしてこのCSVファイルがくせ者でファイルを開くと文字化けを起こしてしまいます。下記のサイトを参考にマクロを作ったのですが、文字化けはしないものの文字に必ず""がついてしまい、また一行しか転記されません。

http://officetanaka.net/excel/vba/file/file10.htm

例 空白→""、 神奈川→"神奈川"

やりたいこととしてはファイル名とあるシートのA列2行目に書いてあるCSVファイルを開き、文字化けを直してSheet1にデータを表示させ、それをファイル名が書いてある最終行まで行いたいです。

Sub macro()
Dim i1 As Long, x As Long
Rbook As Workbook
Rsheet As Worksheet, Ssheet As Worksheet
Set Rbook = ThisWorkbook

Sheets("ファイル名").Select
Set Rsheet = Rbook.Worksheets("ファイル名")
For i1 = 2 To 10
If Rsheet.Cells(i1, 1).Value <> "" Then
Sheets("SHEET1").Select ’表示させるシート
Set Ssheet = Rbook.Worksheets("SHEET1")
Ssheet.Cells.Clear
Ssheet.Range("A1").Select

’文字化けを直す
Dim buf As String, Target As String, i1 As Long
Dim tmp As Variant, j As Long
Target = "¥アドレス" & Ssheet.Cells(i, 1).Value
With CreateObject("ADODB.Stream")
.Charset = "UTF-8"
.Open
.LoadFromFile Target
Do Until .EOS
buf = .ReadText(-2)
i = i + 1
tmp = Split(buf, ",")
For j = 0 To UBound(tmp)
Cells(i, j + 1) = tmp(j)
Next j
Loop
.Close
End With

’別のマクロ実行

End if
Next i1

’2行目、3行目と続く

End Sub

どうぞよろしくお願い致します。

いつもお世話になっております。
Excel2013を使用していますので
アドバイスどうぞよろしくお願いします。

"ファイル名"というシートのA列2行目からCSVファイルのファイル名が書いてあります。
日によるのですが、だいたい5~10件程度です。
そしてこのCSVファイルがくせ者でファイルを開くと文字化けを起こしてしまいます。下記のサイトを参考にマクロを作ったのですが、文字化けはしないものの文字に必ず""がついてしまい、また一行しか転記されません。

http://officetanaka.net/excel/vba/file/fil...続きを読む

Aベストアンサー

こんにちは。

>そのあと"buf = .ReadText(-2)"で止まり
>"パラメーターが間違っています"と表示されてしまいます。。。
>アドバイスどうぞよろしくお願いします。

ご指摘の部分は、残念ですが、想定外の問題で、ADODBを使って別のやり方はありますが、そのデータ自体の問題であり、原因は分からないままにコードを変えて何度も繰り返す可能性のほうが高いです。別のファイルでも、2番めに同じように起こりますか?

   Next j
  Loop
  .Close
 End With
 Set Strm = Nothing '←は入れたらどうでしょうか。
End Sub '←ここが最後の行

それと、私は、参照設定で、Adodb を入れていること。(Microsoft ActiveX Data Objects 2.8 Library)
Dim Strm As ADODB.Stream

これらは、あまり関係ないけれども、実際に自分がする時はこうします。もちろん、ご質問者さんが選んだ方法を完動するように書き上げただけですから、この延長上に、同様のエラーがなくなるという可能性は低いのではないかと思います。

今、思いついたのは、Excel 関数のClean 関数を間に入れる方法はあるとは思います。
それは、エラーを起こすと予想されるバイナリコードを除去する働きがあります。ただし、エラーがバイナリコードであれば、という条件です。

しかし、こちら側では、根本的な解決策は見当たりません。が、何度もトライするよりも、ダメだったファイルが、どうしてだめだったか、エディターなどで調べていただいたほうが良いですね。そちらのほうが早いのです。
巨大なファイルではない限りは、文字変換で、UTF-8 から、SJISに変換するツールで、一旦変更してから、インポートするほうが楽だと思います。Vector で、Unix系のツールなどいくつかあるようです。

こんにちは。

>そのあと"buf = .ReadText(-2)"で止まり
>"パラメーターが間違っています"と表示されてしまいます。。。
>アドバイスどうぞよろしくお願いします。

ご指摘の部分は、残念ですが、想定外の問題で、ADODBを使って別のやり方はありますが、そのデータ自体の問題であり、原因は分からないままにコードを変えて何度も繰り返す可能性のほうが高いです。別のファイルでも、2番めに同じように起こりますか?

   Next j
  Loop
  .Close
 End With
 Set Strm = Nothing '←は入れたらどうでし...続きを読む

Qエクセルの複数条件(場合分け)の論理式関数について

教えてください!
今、手元に添付のようなエクセルデータ表があります。データ項目は日付ごとの値がA、B、C、Qとあります(※Qは前日のC)。
このエクセルデータ表に「場合分け」をしてXとZの項目を追加し、答えを導く表を作成しました。
複数条件があり、「場合分け」をする必要があり非常に手間取ります。
なんとか関数で答えを導く事は出来ませんでしょうか。
宜しくお願い致します。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
◆前提条件
   ・条件は第1条件と第2条件の2つに場合分けされる
・第1条件の参考数値をXと定義する
・第2条件の参考数値をZと定義する
・X<Bを満たす第1条件を優先し、X>Bの場合は第2条件に移行

◆第1条件
・第1条件は参考数値をXと定義して、X<Bを満たす事
・①XがAまたはC以上、かつB未満の場合=128の値を返す
・②XがC以上、かつAまたはB未満の場合=A-Q
・③X<C=A-Q

◆第2条件
・第2条件は参考数値をZと定義して、Z>Cを満たす事
・①Z>AまたはBまたはC=A-Q
・②ZがAまたはC以上、かつB未満=A-Q
・③ZがAまたはB未満、かつC以上=Z-Q
・④Z<AまたはBまたはC=NoAnswer
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

エクセルデータ表 第1条件 第2条件
日付 A B C Q X 答え Z 答え
2019/2/22 3,530 3,595 3,445 3,320 3,448 210
2019/2/21 3,445 3,475 3,320 3,420 3,548 ⇒⇒ 3386 -34
2019/2/20 3,505 3,570 3,420 3,465 3,593 ⇒⇒ 3430 -35
2019/2/19 3,495 3,575 3,465 3,470 3,598 ⇒⇒ 3435 NA
2019/2/18 3,645 3,645 3,470 3,510 3,638 135
2019/2/15 3,680 3,690 3,510 3,610 3,738 ⇒⇒ 3574 -36
2019/2/14 3,720 3,720 3,610 3,715 3,843 ⇒⇒ 3678 -37
2019/2/13 3,750 3,800 3,715 3,710 3,838⇒⇒ 3673 NA
2019/2/12 3,855 3,900 3,710 3,725 3,853 130
2019/2/8 3,775 3,895 3,725 3,765 3,893 128
2019/2/7 3,950 3,950 3,765 3,805 3,933 145
2019/2/6 3,925 3,955 3,805 3,910 4,038 ⇒⇒ 3871 -39
2019/2/5 4,105 4,160 3,910 3,965 4,093 140
2019/2/4 3,965 4,175 3,965 3,805 3,933 160
2019/2/1 3,870 4,020 3,805 3,805 3,933 128
2019/1/31 3,895 4,005 3,805 3,705 3,833 190
2019/1/30 3,725 4,025 3,705 3,430 3,558 295
2019/1/29 3,440 3,980 3,430 3,415 3,543 128

教えてください!
今、手元に添付のようなエクセルデータ表があります。データ項目は日付ごとの値がA、B、C、Qとあります(※Qは前日のC)。
このエクセルデータ表に「場合分け」をしてXとZの項目を追加し、答えを導く表を作成しました。
複数条件があり、「場合分け」をする必要があり非常に手間取ります。
なんとか関数で答えを導く事は出来ませんでしょうか。
宜しくお願い致します。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
◆前提条件
   ・条件は第1条件と第2条件の2つに場合分けされる...続きを読む

Aベストアンサー

以下でできると思います。

 セル位置番号については、日付の一番上("2019/2/22")をA3、項目AをB3、項目BをC3、項目CをD3、項目QをE3、、、、第1条件の答え(210)をG3、第2条件の答え(空白)をJ3、とします。(実際の入力での参照セル位置は適当に修正ください。)

1.第1条件の答えのセル(G3)に 「 =IF($F3<$C3,IF($F3>=$B3,128,$B3-$E3),"⇒⇒") 」を入力します
2.第2条件の答えのセル(J3)に 「 =IF($F3>=$C3,IF($H3>$D3,IF($H3>$B3,$B3-$E3,$H3-$E3),"NA"),"") 」を入力します
3.それぞれ下方向に必要なだけコピーします。 (完成)

条件記述が一部冗長のようですが、以下では如何ですか。(合ってますか?)
条件が違うと式が変わりますので、違うようならまた教えて下さい。

(変更案)
◆前提条件
・X<Bの場合、第1条件に進む
・X>=Bの場合、項目Zを追加入力し、第2条件に進む

◆第1条件(X<B)
・X>=Aの場合、答えを128とする
・X<Aの場合、答えをA-Qとする
(*CがXより大きくても小さくても答えはA-Qで同じなので、Cは条件から取り除きました)

◆第2条件(X>=B)
・Z>Cの場合、
  {・Z>Aの場合、答えをA-Qとする
   ・Z<=Aの場合、答えをZ-Qとする }
・Z<=Cの場合、答えを"NoAnswer”とする
(*第2条件はXがB以上である事が前提なので、Bの細かい条件は無くしました)

以下でできると思います。

 セル位置番号については、日付の一番上("2019/2/22")をA3、項目AをB3、項目BをC3、項目CをD3、項目QをE3、、、、第1条件の答え(210)をG3、第2条件の答え(空白)をJ3、とします。(実際の入力での参照セル位置は適当に修正ください。)

1.第1条件の答えのセル(G3)に 「 =IF($F3<$C3,IF($F3>=$B3,128,$B3-$E3),"⇒⇒") 」を入力します
2.第2条件の答えのセル(J3)に 「 =IF($F3>=$C3,IF($H3>$D3,IF($H3>$B3,$B3-$E3,$H3-$E3),"NA"),"") 」を入力します
3.それぞ...続きを読む

Qエクセルの関数について

例年この時期に必ず苦労して困っています。質問させてください…
毎年毎年、販売個数を出すのに列を削除する方がいて、ミスが起きたり作り直しとか大変でとても困ってます。

列を削除してもSUMproductの関数がつかいたいのですが、

=SUMPRODUCT($C$3:(ADDRESS(3,(MATCH("枚数"),0)-1),1),C4:(ADDRESS(3,(MATCH("枚数"),0)-1),4)))

みたいな感じで考えて見たのですがエラーメッセージでお手上げです…

どうにか個数と書いたの手前の行までの掛け算をする数式ができないでしょうか

よろしくお願いします!

Aベストアンサー

又 訂正です、

=SUMPRODUCT(INDIRECT("C3:"&ADDRESS(3,MATCH("枚数",INDIRECT("C3:Z3"),0)+2)))

何度も 申し訳ない、
こっちですね。


そして応用編が、
=SUMPRODUCT(INDIRECT("C3:"&ADDRESS(3,IFERROR(MATCH("枚数",INDIRECT("C3:Z3"),0),COUNTA(INDIRECT("C3:Z3")))+2)))

此方は、
もし "枚数"記載列をも、
削除してしまっても、

まあ 取り敢えずは、
エラーには ならない、
式です。


確認くださいね。


後、
解説を ご所望に、
なられる場合は、

そう、
お申し付けくださいね。


追記、
いゃ〜、
楽しませて 頂きました、

久々に、
頭が 回る、
噛み応えの ある、
課題でした、

いい課題を 有り難うです。

Qエクセルの日付自動カウント

エクセルについて質問です。
下記のようにエクセルを作った際に
自動カウント1はA1の日付に対して現在までに何日経過しているかの値
自動カウント2はC1の日付に対して現在までに何日経過しているかの値

*その際に、C1の日付が入力された時点でB1のカウントをストップさせた数値
もしくは(B1=C1-A1)の数値を出力する方法がわかりません。

いろいろ試してはみたのですが、教えていただけますか。

A1       B1       C1      D1
手打ち日付1   自動カウント1  手打ち日付2  自動カウント2

Aベストアンサー

こんにちは

ご質問の文章通りで、A1、C1セルの値はシリアル値とします。
 B1セル: =IF(C1="",TODAY()-A1,C1-A1)
 C1セル: =IF(C1="","",TODAY()-C1)

※ 入力値のチェックやエラー処理は行っていません。

QExcelでフィルターを使わずに抽出するにはどうしたらよいのでしょうか

お世話になります。
画像のようにしたいです。
よろしくお願いいたします。

Aベストアンサー

こんな感じでしょうか(Excelっぽくないけど)。
ちなみに、最初の画像のレイアウトを想定して作っています。列の間隔はご自分で調整してください。

Sub sample()
Dim i As Long
Dim c As Long
Dim r As Long
c = 4
r = 2
For i = 2 To Cells(Rows.Count, "A").End(xlUp).Row
Cells(r, c).Value = Cells(i, "A").Value
Cells(r, c + 1).Value = Cells(i, "B").Value
If Cells(i, "A").Value = Cells(i + 1, "A").Value Then
r = r + 1
Else
c = c + 2
r = 2
End If
Next i
End Sub

こんな感じでしょうか(Excelっぽくないけど)。
ちなみに、最初の画像のレイアウトを想定して作っています。列の間隔はご自分で調整してください。

Sub sample()
Dim i As Long
Dim c As Long
Dim r As Long
c = 4
r = 2
For i = 2 To Cells(Rows.Count, "A").End(xlUp).Row
Cells(r, c).Value = Cells(i, "A").Value
Cells(r, c + 1).Value = Cells(i, "B").Value
If Cells(i, "A").Value = Cells(i + 1, "A").Value Then
r = r + 1
Else...続きを読む

Qエクセルの計算、前年との比較

ひと月を1列として、各商品ごとの重量を入力しています。
1列目1月分、2列目2月分・・・(まだ来てない月は空白)というように。
上司からの指示で、今年の今月まで累計と別シートの前年の同じ月までの累計を比較、比率を出して今年分に表示したいのですが、前年は12月まで入力しており、毎月、計算範囲を変えて、式を入力し直して計算しています。
都度書き換えずに、たとえば関数などで対処できないかと思うのですが、いい方法が浮かびません。
どなたかお知恵をお貸しください。

Aベストアンサー

添付画像のようなこともできますよ。
これは、M1セルに入力した月までの累計をM3に表示するものです。
M3セルに、次の式を設定しています。
=SUM(OFFSET(A3,0,0,1,M1))

Q全てのシート見出しを一時的に非表示にする近道は?

Ctrl+Shift+U の近道(ショートカット)キー操作で「折りたたまれて1行表示の数式バーが展開され、または、数行に展開されていた数式バーが1行表示に折りたたまれる」ことは既にご存知のことかと。(Alt+WVF では数式バーの非表示/再表示が可能なことも?)
閑話休題
さて、全てのシートは表示させたままで、全シート見出しだけを一時的に非表示にする近道キー操作をご存知の方は教えてください。
(ワークシートのスクリーンショットを撮りたいときに、数式バーやシート見出しが邪魔になるときがあるので)

Aベストアンサー

コマンとしては[シート見出しの色]はありますが、希望している
シート見出しの表示・非表示はないみたいです。
No.2の回答者さんが書いている[オプション」の[詳細設定]にある
[シート見出しを表示する]へのチェックの有無で切り替えます。
https://support.office.com/ja-jp/article/%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%B7%E3%83%BC%E3%83%88%E8%A6%8B%E5%87%BA%E3%81%97%E3%81%8C%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%81%AA%E3%81%84-42623d50-2f9b-4583-ad9c-f1b381185e48
どうしてもショートカットキーでの操作を希望するのなら、
マクロとして登録したものにショートカットキーを設定して、
それで切り替えるしかないと思います。
https://docs.microsoft.com/ja-jp/office/vba/api/excel.window.displayworkbooktabs?f1url=https%3A%2F%2Fmsdn.microsoft.com%2Fquery%2Fdev11.query%3FappId%3DDev11IDEF1%26l%3Dja-JP%26k%3Dk(vbaxl10.chm356089)%3Bk(TargetFrameworkMoniker-Office.Version%3Dv15)%26rd%3Dtrue%26f%3D255%26MSPPError%3D-2147217396

マクロの例
Sub WorkbookTabs()
' シート見出しの切り替え
 If ActiveWindow.DisplayWorkbookTabs = False Then
  ActiveWindow.DisplayWorkbookTabs = True
 Else
  ActiveWindow.DisplayWorkbookTabs = False
 End If
End Sub

コマンとしては[シート見出しの色]はありますが、希望している
シート見出しの表示・非表示はないみたいです。
No.2の回答者さんが書いている[オプション」の[詳細設定]にある
[シート見出しを表示する]へのチェックの有無で切り替えます。
https://support.office.com/ja-jp/article/%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%B7%E3%83%BC%E3%83%88%E8%A6%8B%E5%87%BA%E3%81%97%E3%81%8C%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%81%AA%E3%81%84-42623d50-2f9b-4583-ad9c-f1b381185e48
どうしてもショートカットキーで...続きを読む

QIF関数とMODで、例えば入れた数値の倍数の時に◯が表示される……という数式を作りましたが、1.1の

IF関数とMODで、例えば入れた数値の倍数の時に◯が表示される……という数式を作りましたが、1.1の時に本当だったら1.1、2.2、3.3、4.4、5.5、6.6、7.7……で◯になるはずなのですが、10以下の数値を入れてみると、3.3、5.5、6.6、7.7、9.9は◯の表示がでてきません。
1.1、2.2、4.4、8.8しか◯が出ません。
どうしてでしょうか?

Aベストアンサー

幼稚な言い方だけど、Excel(に限らないので、PC全般的なことと理解してネ)は“小数点の計算には弱い”と理解しておきませう。
理屈っぽい人はフドーショースーテン(浮動小数点)問題などど言い始めますが・・・
それはさておき、対策を教えます。カンタンなことで、小数点抜きの整数に換算して、Excel に計算させることです。
貴方が提示した式(実はナッチョランでしたが)、を
=IF(MOD($A2*10,B$1*10)=0,"◯","")
に変更するだけで解決します。ゴチャゴチャ考えずに先ずは実行してみること!
どうなりましたか?

QExcelで15分単位の工数表を作るための関数が知りたいです

勤め先の勤怠が15分単位であるため、それに沿った工数表を作成したいです。
イメージとしては画像の通りです。開始時間と終了時間を入力したら、作業にかかった時間が出るようにしたいです。
調べてもこういう形が出てこなかったのでみなさまのお力をお貸しください。どうぞよろしくお願いします。

Aベストアンサー

No.1です。

D2セルに
切り上げの場合
=CEILING(C2-B2,"0:15")*24

切り捨ての場合
=FLOOR(C2-B2,"0:15")*24

という数式を入れセルの表示形式を「標準」にし、フィルハンドルで下へコピーしてみてください。

※ 数式を入れる前に表示形式を標準にすると
計算結果は h:mm の表示形式になると思いますので、
数式を入れた後に表示形式を操作してください。m(_ _)m


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

人気Q&Aランキング