X

Excel総合相談所 138

■ このスレッドは過去ログ倉庫に格納されています
2020/01/30(木) 00:40:30.43
【1 OSの種類         .】 Windows**
【2 Excelのバージョン   】 Excel**
【3 VBAが使えるか    .】 はい・いいえ
【4 VBAでの回答の可否】 可・否

▼━関連スレ━━━━━━━━━━━━

前スレ
Excel総合相談所
https://find.5ch.net/search?q=excel
Excel総合相談所 137
https://mevius.5ch.net/test/read.cgi/bsoft/1570532779/

Excel VBA 質問スレ
https://find.5ch.net/search?q=excel+vba

【質問不可】Excel総合相談所スレの雑談・議論スレ
https://find.5ch.net/search?q=excel+%E3%80%80%E7%9B%B8%E8%AB%87%E6%89%80
2020/03/20(金) 12:44:49.77
>>453
そもそも何故列数が問題になるのか
使用する列数に制約を課す方がややこしくなるが
2020/03/20(金) 13:30:02.72
>>456
表示固定なしならその方法も求めてないやろ
2020/03/20(金) 19:27:26.36
やっぱ普通に減らすのはダメですか。。。

一体どうやってるのか、
時々、全く使ってないセルを使ったことにして、
容量を増加させちゃう人がいるんですよね。
2020/03/20(金) 20:35:03.01
>>459
このスレの>>312 あたりを見ると参考になるかも。
2020/03/20(金) 23:17:21.88
>>453
小さい表でいいならWordにでも貼ればいいんじゃないのかと思う
2020/03/23(月) 22:08:37.47
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

EXCELで月齢を計算する方法を教えて下さい。
2020/03/23(月) 22:26:25.65
>>462
月齢を簡単に求める方法(月齢略算式)
ttp://koyomi.vis.ne.jp/reki_doc/doc_0250.htm
2020/03/23(月) 22:30:37.30
>>463
ありがとうございます。
これをEXCELで実現するにはどうすればいいのでしょうか?
2020/03/23(月) 22:34:48.41
例えばA1に日付が入った場合に
B1に月齢を表示させたく思っております
よろしくおねがいします
2020/03/23(月) 22:42:47.79
=If(IsDate(A1)=True , "月齢")
2020/03/23(月) 22:44:45.82
>>464
セルに入力した日付データから西暦年を取り出すYEAR関数、月を取り出すMONTH関数、
日を取り出すDAY関数、余り(剰余)を求めるMOD関数、条件分岐であるIF()関数を組み
合わせればできますよ。これらの関数を使ったことはありますか?
2020/03/23(月) 22:49:09.96
>>466
ありのまますぎて吹いた
2020/03/23(月) 23:15:38.60
月齢が何だかわからなくてググったわ。
2020/03/23(月) 23:21:48.42
セーラームーン見てたら分かるだろって言おうと思ったけどセーラームーンに月齢一切でてなかったわ
2020/03/23(月) 23:32:16.10
>>469
江戸時代末期から明治にかけていろいろなカラクリを作った田中久重翁が造った
「万年時計」は、歯車による回転数の変換だけで地球から見た太陽と月の動きと
満ち欠けを再現した。田中久重=東芝の礎をつくった方です。
NHKの番組「ハイビジョン特集 万年時計 江戸時代の天才が生んだ驚異の機械時計」
を見てただ驚くばかりでした。動画も含めいろんな資料があるのでどうぞ。
スレ違いスマソ。
2020/03/24(火) 00:25:04.78
月齢も知らんのは無知だと思うわ
2020/03/24(火) 00:34:36.64
469は小学生なんだよ
2020/03/24(火) 00:57:32.64
勉強になったわ
2020/03/24(火) 01:31:16.89
>>467
アドバイスありがとうございます。
まで上手くいきませんががんばります。
2020/03/24(火) 08:38:09.23
>>467
非常に重要な、TRUNCが抜けてるよ
2020/03/25(水) 20:57:01.60
何かもっと違うのがありそうな気がするけどね。

子のオートフィルで干支が出るとか(多分ここで教えてもらった)、
Weekday使わなくてもText aaaだけで曜日が出るみたいなのが。
2020/03/26(木) 00:59:19.34
無いよ
2020/03/26(木) 01:53:04.72
【1 OSの種類         .】 Windows 7?
【2 Excelのバージョン   】 わかりません
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

Aの状態からBに整える作業を複数行っているのですが
一番効率が良いと思われる手順を教えていただきたいです
画像だけでは分かり辛いので文でも書きます

【作業】
1,A1の行を削除する
2,A2に「計」を入力する
3,表の数字が入ってる欄の全ての空白に0を入力する
4,2行目の計にそれぞれの列の合計を入力する(SUM値の状態ではなく文字の状態で張り付ける)

特に3と4の効率のいい方法を知りたいです
3は範囲をドラッグ選択してctrl Hで空白を0に置換
4は数字の範囲をドラッグで全選択してshift alt =でSUM、下に出た結果をコピーして削除
上の計にctrl shift vで値だけ貼り付けという風にしていますが
一発で計算結果を上の計に表示させることなどは出来ないのでしょうか?

A,作業前
https://imgur.com/N5Fiwpm.jpg
B,作業後
https://imgur.com/nh1tw6f.jpg
2020/03/26(木) 02:45:36.97
>>479
VBA否になってるけど、手順をそれ以上短縮したかったらVBAしかないと思う
2020/03/26(木) 07:11:20.16
合計を選択したい範囲(C2:O2)をドラッグして選択
shift+alt+=でSUM表示
1列目の数字部分(C3:C13)をドラッグしてSUMの引数に指定してctrl+enter
とか?
2020/03/26(木) 07:41:01.76
VBAの中に条件付き書式みたいなものって入れれますか?
2020/03/26(木) 08:42:57.84
>>479
4.
あらかじめ、=SUM(C3:C10000) を s にでも単語登録 IMEはONにしておく
c3で、s スペースと入力
c3を表の右端までオートフィル
そのまま、選択範囲の端を右ボタンで掴んで、その場にドラッグして値のみ貼付け
2020/03/26(木) 08:56:31.44
>>482
可能
2020/03/26(木) 18:45:27.25
>>484
ありがとうございます。VBAってなんでもできるとですね。
初心者にオススメの本とかありますか?
2020/03/26(木) 19:28:18.55
>>479
マクロ記録でやったらいいんじゃないのか
2020/03/26(木) 21:54:34.39
マクロの記録
最初は「何だ、マクロって意外と簡単に出来るんだな」と思い「これだけでも何とか出来るかな?」と思ったが、
すぐにその不便さと融通の効かなさを痛感し、
気が付けばたまに「えーと、これってどういうコード書いたらいいのかな?」って時に少し調べるくらいでしか使わなくなっていた

のって俺以外にもいるのかな?
2020/03/26(木) 22:02:45.08
自分も最初はマクロって、マクロの記録でできたコードを部分的に変更して完成させるのが一般的な使い方かと思ってた。
2020/03/26(木) 22:19:52.95
マクロの記録のいらないところをごっそり削除して使う
2020/03/26(木) 22:32:16.10
>>489
大体それに落ち着くよね
2020/03/26(木) 22:49:36.95
命令調べるのめんどい時マクロ記録で調べる
2020/03/26(木) 22:58:58.57
マクロの記録を起動してキーボードガチャガチャってやってコード生成しまくる遊びを考えた
結果は残念な事に・・暇な人は試してみて
2020/03/26(木) 22:59:37.53
セルの範囲とか色の名前を調べるのが面倒な時もマクロの記録を使う
2020/03/26(木) 23:03:57.73
記録していらない部分削るより最初から自分で書いた方が早い
2020/03/26(木) 23:13:29.89
interior辺りが鬼門
2020/03/27(金) 10:48:16.29
>>494
早いし楽、それに変数に条件分岐にループという重要な要素はマクロの記録では出来ないし
セルA1に100と入力するのもあんな回りくどいコードよりも普通に
Range(′′′A1′).Value=100
と書く方が冒頭のそれだから
497名無しさん@そうだ選挙にいこう
垢版 |
2020/03/27(金) 17:40:19.35
経年データで文字の数と地域の名前ごとにまとめるのってどうしたらいいんだ?
例えが下手で申し訳ないんだが
県 名前   果物(1月) 果物(2月)
千葉 太郎  りんご   りんご
千葉 あいこ  みかん   りんご
千葉 よしこ  りんご   みかん
茨城 次郎  りんご   ポンカン
茨城 とめ もも     みかん
茨城 三郎  ポンカン  みかん




ってなってるのを、
     りんご みかん ポンカン
千葉1月:2   1    0
千葉2月:1   3    5
千葉3月:8   1    2



茨城1月:1   1    1

みたいな表にしたいんだが1週間ググッてもわからん
498名無しさん@そうだ選挙にいこう
垢版 |
2020/03/27(金) 17:49:07.17
SUMIFSでいけんか?
2020/03/27(金) 21:56:06.61
やってみるか
2020/03/27(金) 22:08:29.63
とりあえず、2つめの表、月と果物の種類 行と列を入れ替えた方がいいと思う
あと、1つめの表、果物()は外した方がいい
表の構成と表記はなるべく一致させないと、余計な手間が増えるだけだよ
2020/03/27(金) 22:21:12.61
>>497
でけた
https://dotup.org/uploda/dotup.org2097630.xlsx
2020/03/27(金) 23:04:58.16
>>496
俺の知らない書き方があるのかと思ったら、
不正な文字ですって怒られたわ。
2020/03/27(金) 23:10:27.04
>>502
同じくw
単位
Range("A1").Value=100
の間違いだろう
2020/03/27(金) 23:15:19.95
>>497
最初からDB的に設計するのが一番。

県 名前 果物(1月) 果物(2月) じゃなくて
県 名前 年月 果物 にする。

りんご みかん ポンカン はどうするのかって?
後からピボットテーブルにすれば?
2020/03/29(日) 15:27:44.86
>>496
ループ処理とかは自分で書くけどあんまりVBAに慣れてないのでマクロの記録に頼っちゃう
元プログラマだからやってたのと結構違うのは戸惑うっていうかよくわからないっていうか…

今も単なるループで指定枚数ずつシートを順番に印刷してても
エラー出ずに終わってるのに初めの2シートしか印刷されないとかでなんで?になってる
PrintOutをMsgBoxに変えて表示してみると全部出てきてる
さっき印刷されたシートの枚数を0枚にしてみると今度はその次の2シートが印刷されてそのあとは無視だし
2020/03/29(日) 16:02:56.14
>>505
>元プログラマ
vbaは結構異端児なので、そのプライドは捨てた方が良いと思う
vbaって結局はExcel用のマクロで、プログラムが正しくてもExcelの仕様に振り回される事がかなり多いからな

>なんで?になってる
印刷範囲か何かだと思う
マクロの記録をしつつ、手作業で1シートずつ印刷してみてテストすると何か分かるかもしれない
わからないかもしれない
2020/03/29(日) 17:13:26.44
>>505
プログラマの発言とは思えん
素人なら知ってる言語しかできないってのはわかるが、職業プログラマなら臨機応変に使えるもんだがな
2020/03/29(日) 17:19:09.37
プログラマは単なる職種名
箸にも棒にもかからん三流以下はゴマンといる
2020/03/29(日) 17:29:34.57
素人プログラマレベルやん
2020/03/29(日) 18:24:14.99
>509
今はプログラマなんて誰でもなれるゾ
1995、windows95が現れた時にね
2020/03/29(日) 18:37:36.12
だから素人レベルなんだろ
2020/03/29(日) 18:43:28.83
>>511
うん、今はvbaは素人がプログラミングやってるんだって
95が出た当初はプログラマが外注で請け負ってたとは思うけどね
玄人だけのプログラミング談話がしたいならプラグラミング板かプログラマ板に行くと良いゾ
2020/03/29(日) 20:01:05.64
>>512
現在進行系で素人の趣味レベルから開発職に依頼するレベルまであるんだゾ
よく知らないことを想像で語らない方がいいゾ
プロを名乗るわりに技術が素人っぽいってつっこみが「玄人だけのプログラミング談義がしたい」にすり替わってるあたり理解力もあやしいゾ
謎の95への拘りも捨てたほうがいいゾ
2020/03/29(日) 20:31:20.62
チェックデジットで嵌まってます
助けて下さい
978-4-8222-7267-8
手書き・エクエル・電卓・Web計算サイト全てで6と出ます
バーコードで読むと8で合ってるし検索でも8と出ます
どっちが合っているのでしょう?
2020/03/29(日) 20:48:05.79
>>513
すいません、素人です
マウンティングしたくて嘘つきました、すいません!
あと、教えて下さい。

>謎の95への拘りも捨てたほうがいいゾ
すいません、また聞きです
cobolの凄腕プログラマが→儲かるvba
へと聞いていました
そうでもないのでしょうか

>プロを名乗るわりに技術が素人っぽいってつっこみが「玄人だけのプログラミング談義がしたい」にすり替わってるあたり理解力もあやしいゾ
すいません、丸投げしました
でもあっちいってボロカス叩かれると急成長するというのが経験上の理由です
516514
垢版 |
2020/03/29(日) 20:50:09.58
エクエル×
エクセル◯

バーコード貼り忘れました
https://i.imgur.com/v33pNx9.png
2020/03/29(日) 20:58:43.57
>>516
8で合っている、と思う
isbnで検索しろ
ってか、isbnに電話かメールでdで問い合わせ下ほうがはやいぞ。そのための協会なんだから
https://i.imgur.com/x1UC8ZV.png
2020/03/29(日) 21:07:47.08
>>517
ありがとうございました
自分の計算方法が間違いなんですね
Wikiに書いてある通り
https://ja.wikipedia.org/wiki/ISBN#%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%E3%83%87%E3%82%A3%E3%82%B8%E3%83%83%E3%83%88_2
にやってみたのですが別の式があるのでしょうか
2020/03/29(日) 21:26:08.38
>>518
>別の式があるのでしょうか
知らない

一番正しいのはISBN協会だから、そこに聞いてくれ
wikipedisが間違ってるなら、wikipediaを書き直してほしい。(そのためのwikipedia)

まぁ恥ずかしいかなんかなら、ここで報告してもらえれば俺がwikipedia修正しとくよ
2020/03/29(日) 21:34:41.80
>>514,517
518のwikipediaに載ってる通りに計算してみました。
9 × 1 =  9
7 × 3 = 21
8 × 1 =  8
4 × 3 = 12
8 × 1 =  8
2 × 3 =  6
2 × 1 =  2
2 × 3 =  6
7 × 1 =  7
2 × 3 =  6
6 × 1 =  6
7 × 3 = 21
各行の積の和は112なので、10で割った余りは2
10 − 2 = 8 がチェックデジットになりますよ。
筆算で6になるという計算は具体的にどうやったのでしょうか?
2020/03/29(日) 21:57:21.59
スピル使えば
2020/03/29(日) 22:10:52.05
>>505
2枚しか印刷されないのは、たぶんこれが原因


ttps://blog.goo.ne.jp/morning-milk-tea/e/da97137cf6416b066a97fc234972494b
2020/03/29(日) 22:56:51.38
>>519,520さんホントスミマセン_orz
奇数を3偶数を1で掛算してた上に、さらにミスで最後の7が最初に紙に書いた段階で抜けておりました
お時間取らせてしまい申し訳ありませんでした
計算サイトhttps://www.muryou-tools.com/checkdigit.php
でも間違って13桁全部入力して[割出]ボタン押してしまっていました
2020/03/30(月) 14:14:41.86
【1 OSの種類         .】 Windows8.1
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

フォームコントロールでボタンを横並びで4つ作成し、それをきれいに整列させたいのですが、
ドラッグしてもシフトキーを押しながらクリックしてもフォームボタンを複数選択することができません。
何か特別なやり方がありますか?
2020/03/30(月) 15:37:45.44
>>524
シフト+クリックかドラッグで合ってる
ワークシートのセルが編集状態になってない?
どうしても原因がわからない時は保存してExcelを終了して再起動
2020/03/30(月) 20:08:51.37
>>524
右ドラッグだよ
2020/03/30(月) 20:18:15.03
左ドラッグ → まとめて選択するだけ
右ドラッグ → 選択後に右クリックメニューが出る
2020/03/30(月) 20:36:43.04
>>525-527
ありがとうございます
再起動してもできなかったのでActiveXコントロールで作り直しました
2020/03/30(月) 22:47:26.65
図形選択するカーソルにしてCtrl+A…
2020/03/31(火) 12:28:01.83
すみません、VBA初心者ですが上手くなりたいと思います。

上手くなるための順序を教えていただきたいです。例えばこの本の通りにやって、次はこれをしてなど。。。

実体験なども含めて教えてもらえるとありがたいです。
2020/03/31(火) 12:47:28.61
>>530
VBAはできることが多すぎて、全部を知り尽くしている人はあまりいません
みんなが自分に必要なことだけ+αの予備知識を覚えている感じです
本か入門サイトで基礎を覚えたら、あとはひたすら実践あるのみ、です

とりあえず検索上位に出てきた入門サイト
https://www.officepro.jp/excelvba/

一通り勉強したら、次は何がやりたいか、どこでひっかかってるか質問して下さい
2020/03/31(火) 18:27:25.69
>>530
(VBAなしで)今、Excelをどの程度使えてるかによって、アドバイスが違ってくる時思います。
2020/03/31(火) 19:55:28.66
>>530
正直どれだけ本読んでも実際に作らなきゃ技術は付かない
とりあえず興味湧いた初心者向けの本でもサイトでもどれかやり切って、Excelでこういう動きをさせたいって思ったら調べながら作って内容を理解する積み重ね
2020/03/31(火) 22:00:26.18
>>530
なんでもいいから片っ端から自分の業務を自動化するものを作りまくればok
535530
垢版 |
2020/04/01(水) 05:24:47.57
みなさんありがとうございます。Excelは関数少しとピボットテーブルを触れる程度のレベルです。それらも分からなければググって解決出来ています。VBAも同じ要領ですすめてみたいと思います。
2020/04/01(水) 08:39:08.45
>>534
何から手を付けようか悩む時は、高頻度そして手間の掛かる作業から優先的にやるのがいいな
面倒くさいと感じるのは効率化の第一歩、老害の「面倒などとほざいてたら仕事にならん(キリッ!)」はもはや精神論ですらない、思考停止も甚だしいってヤツだな
2020/04/01(水) 08:42:10.34
単純で量が多く、そして「戻せる物」が良いな
ファイルのリネームとか失敗したら目も当てられないw
2020/04/01(水) 12:12:21.29
=“山場は”&text(TODAY()+14,“yy/mm/dd“)&“までです!”
2020/04/01(水) 18:48:33.21
‘ここからの2週間が山場です。

で、簡略化できるな
2020/04/01(水) 19:20:46.56
>>539
好き
2020/04/01(水) 19:51:04.57
>>539
有能そう
2020/04/01(水) 21:37:33.71
hyperLINK関数とcell()
の組み合わせから逃れられない
543名無しさん@そうだ選挙にいこう
垢版 |
2020/04/02(木) 09:08:33.69
セルに〇〇A型や□□A型という文字列があったとします
セル内に「A型」が含まれてれば100と返す数式を教えて下さい
2020/04/02(木) 09:24:50.85
>>543
=IF(COUNTIF(A1,"*A型*")=1,100,"-")
とか・・・
545名無しさん@そうだ選挙にいこう
垢版 |
2020/04/02(木) 09:49:08.04
>>544
出来ました有難う御座いました!
546名無しさん@そうだ選挙にいこう
垢版 |
2020/04/03(金) 07:14:26.03
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるbゥ    .】 いb「え
【4 VBAでの回答の可否】 否

エクセルで家計簿を作っています
13個シートを用意して1月から12月専用シートと13個目は年間の比較用シートにしています
例えば年間比較シートで雑費という費目で毎月の平均値を求めたいのですが

現在は
費目  金額  月平均
雑費  ***** *****
金額セルは各シートの雑費を参照して1つ1つ単純に+で合計値を出しています
月平均は上の合計値を12で割っていますが、今だと5月以降は0なので当然今現在の正確な平均値が求められません

そこでAVERAGE関数で上手く出来ないかと思ったのですがなにかいい方法はないでしょうか?
2020/04/03(金) 07:55:23.08
1月はじまりで記録してるならMONTH(TODAY())で求められる月の数値を使って割ればいいんじゃないかな
548名無しさん@そうだ選挙にいこう
垢版 |
2020/04/03(金) 08:14:24.27
割る数字を12と固定しないで関数使って1月から12月までのどこかのセルのデータ数をカウントするようにすればいいかと
2020/04/03(金) 08:20:27.04
AVERAGEIF
2020/04/03(金) 12:49:32.49
COUNTAの数で割る
551名無しさん@そうだ選挙にいこう
垢版 |
2020/04/03(金) 17:24:01.75
【1 OSの種類         .】 MacOS 10.15.4
【2 Excelのバージョン   】 Excel Version 16.16.20
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

初心者ですが、よろしくお願いします。

・B1のセルに年:2020
・C1のセルに月:4
・D1のセルに日:1

と入っていて、この3つのセル内の数字を組み合わせて日時(「2020年4月1日」)にして、
曜日(「水曜日」)を取得したいのですが、

=CHOOSE(WEEKDAY(B1+C1+D1),"日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日")

としてもうまくいきません。何が問題なのでしょうか?
552551
垢版 |
2020/04/03(金) 17:57:01.21
=CHOOSE(WEEKDAY(CONCATENATE(B1,"-",C1,"-",D1)),"日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日")

とすればいいんでしょうかね…大丈夫なのかな。
2020/04/03(金) 18:16:33.38
=DATE(年, 月, 日)
2020/04/03(金) 18:16:43.87
Excelでは、日付をシリアル値で表現しているけど、その中身は基準日からの経過日数
でも、B1+C1+D1 じゃ、=2025 で、期待通りにはなっていないからNG
近年のExcelだと、日付文字列->シリアル値の暗黙変換ができるから、>>552 でも大丈夫だよ
でも、わざわざ日付を文字列にする必要もないし、使えない日付表現もあるから、

=CHOOSE(WEEKDAY(DATE(B1,C1,D1)), "日曜日", 〜  の方がいいよ

もう少し言うと、日付は曜日に直接変換できるし、WEEKDAY関数は基準が日曜で1になってるかどうか悩むから、
=TEXT(DATE(B1,C1,D1),"aaa")
と書くことを、個人的には勧めるよ
2020/04/03(金) 18:19:46.51
取得した曜日をどう使いたいか知らんが、表示だけが目的ならaaaを使えばよろし。

>>552
556名無しさん@そうだ選挙にいこう
垢版 |
2020/04/03(金) 22:20:58.52
すみませんレス遅くなりました

>>547の方法で解決しました
ありがとうございます!
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況