2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

Excel総合相談所 138

1 :名無しさん@そうだ選挙にいこう:2020/01/30(木) 00:40:30.43 .net
【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

2 :名無しさん@そうだ選挙にいこう:2020/01/30(Thu) 08:53:32 .net
>>1 乙

3 :名無しさん@そうだ選挙にいこう:2020/01/30(木) 13:34:21.88 .net
>>1乙です

前スレ >>995
>次のような表があり、

>東京 拉麺 250円
>千葉 拉麺 400円
>大阪 そば 250円
>埼玉 そば 250円
>滋賀 そば 350円
>佐賀 饂飩 800円
>佐賀 饂飩 1000円

>そばを売ってる中で最安な県(一番上の1県だけでOK)の表示
>そばを売ってる中で最安なのは何件あるかの数値

>を関数で表したいです。
>「表の中で値段が一番安い県」ですと
>=INDEX(A1:C6,MATCH(MIN(B1:B6),B1:B6,0),1)
>で表せたのですが、さらに「B列がそばの中で」など、
>表の中から抽出する条件の中での最安値を出すにはどのような表記になるでしょうか?

=MIN(IF(B1:B7="そば",C1:C7))
行列式なのでCtrl+Shift+Enter すること

4 :名無しさん@そうだ選挙にいこう:2020/01/30(木) 13:45:15.54 .net
おっちゃん難しいこたぁわかんねぇけんど、
そばよりもおいしいうどんを売ったほうがえぇと思うよ。

5 :前スレ995:2020/01/30(木) 19:30:13.63 .net
前スレ995です。
>>3
参考にさせていただき、目的の数式完成しました。
ありがとうございます。
「=MIN(IF(B1:B7="そば",C1:C7))」 の中身の
「=IF(B1:B7="そば",C1:C7)」はFALSEを返してくるのに、
=MIN()の中では「B1〜B7でBがそばの行のCの値(複数?)」というデータを
ちゃんと持ってるんですね。不思議。

前スレの>>997さんの作業列DをつくってINDEX(〜MATCHもいろいろ応用が利いたので助かりました。
ありがとうございました。

6 :名無しさん@そうだ選挙にいこう:2020/01/31(金) 10:36:37.95 .net
単純そうな質問してもいいですか?

あるセルに任意の文字列を入力された日にちを別セルに表示させたい場合は
どのようにしたらいいでしょうか?

例えばA1に「りんご」と1/20に入力したら、B4に1/20と表示されるような…

7 :名無しさん@そうだ選挙にいこう:2020/01/31(金) 10:58:08.61 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

すいません、質問があります。

現在エクセルを使って給料計算をしています。
月ごとに一つのエクセルのデータを上書き保存しながら
更新していっているのですが、

上書きしても前の月の遅刻数を裏で保存してのちに年間の
総遅刻数として合算したいのですが何か方法はありませんか?

特定のセルに 

8 :名無しさん@そうだ選挙にいこう:2020/01/31(金) 12:57:44 .net
>>6
その場限りでいいんなら
B4=IF(A1<>"",NOW(),"")
この日付はブックを保存すると狂う
記録としてずっと残したいならVBA使わないと無理

9 :名無しさん@そうだ選挙にいこう:2020/01/31(金) 13:02:14 .net
>>8
やはりそうですよね…
VBAは極力使いたくなかったのですが…
仕方ないですね。
ありがとうございました。

10 :名無しさん@そうだ選挙にいこう:2020/01/31(金) 13:23:00 .net
>>7
たとえば、給料計算表シートに、

名前 遅刻数
=MONTH(TODAY())
Aさん 1
Bさん 0
Cさん 1
.
.
.
こんな表があったとして、
別シートに

名前 遅刻数











元シートのC列に遅刻数が入力されているとして、
別シートの2列目あたりに、=元シート名!C2... と入れれば、元シートの現在の

11 :10:2020/01/31(金) 13:47:10.32 .net
うー、途中で送信しちゃった。ごめんなさい。最初から書き直すと

たとえば、給料計算表シートに、

A列   T列
名前  遅刻数
−   =MONTH(TODAY())&"月"
Aさん 1
Bさん 0
Cさん 1




こんな表があったとして、
別シートに

A列   B列        C列
名前  合計        遅刻数
月               =給料計算表!T2
Aさん  =SUM(D3:D20)  =給料計算表!T3
Bさん  =SUM(E3:E20)  =給料計算表!T4
Cさん  =SUM(F3:F20)  =給料計算表!T5




という表を作り、各月入力する毎に、C列全体をを右ボタンドラッグして順次D列以右に値のみコピー
というのはどうでしょうか

12 :名無しさん@そうだ選挙にいこう:2020/01/31(金) 20:43:02.82 .net
【1 OSの種類         .】 Win10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
※VDI環境で使用しています

テキストボックス内に=A1:A5と入力し引用先の数値が反映されるようにしていますが、
保存しようとすると深刻なエラー云々と表示されて保存出来なくなりました。
そのテキストボックスを消そうとしてクリックするも選択出来ず、関数の引用先のセルが表示されて困っています。
テキストボックス内には定期的に変わる数値を反映させており、複数あるので手打ちで1つ1つ変えるのも大変ですし
表示させたい部分のセルサイズ的にセルに表示も厳しい感じです。

良いアドバイスがあればお願いします。

13 :名無しさん@そうだ選挙にいこう:2020/01/31(金) 20:57:12.38 .net
>>12
オブジェクトの一覧画面から消してみるとか

14 :名無しさん@そうだ選挙にいこう:2020/01/31(金) 21:52:50.91 .net
とりあえずテキストボックスを消したいのか、いったん消すとしてテキストボックスにセルの内容を表示させたいのか、どちらを聞きたいのかな?

15 :名無しさん@そうだ選挙にいこう:2020/01/31(金) 22:37:22.09 .net
>>12
F5でオブジェクト選択、deletキーとか

16 :名無しさん@そうだ選挙にいこう:2020/01/31(金) 23:01:16.70 .net
>>7
>年間の総遅刻数として合算したい
>月ごとに一つのエクセルのデータを上書き保存

1  年  使  え  よ  wwwwww
       

17 :名無しさん@そうだ選挙にいこう:2020/01/31(金) 23:12:43.35 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

複数人で管理する、在庫リストを作成しようとしています
・商品は6種類ほど(増える可能性あり)
・支店は30店舗(2,3ヶ月に一回増えたり減ったり)
・日毎に把握できるようにしたい
・入出荷は事務が伝票を元に入力
・在庫は倉庫の人が確認し、強制的に在庫数を書き換える

という運用をしています。
目的は横領を監視するためのシステムなので、
そこまで厳密にあってなくても良いのです

この場合、どういう構成にすると入力・出力しやすいでしょうか?
今は商品ごとにシートがわかれており、非常に入力が面倒な状態です

18 :名無しさん@そうだ選挙にいこう:2020/01/31(金) 23:29:55.93 .net
すまん。
横領を防ぐのに厳密にあってなくて良い理由がわからん。

19 :名無しさん@そうだ選挙にいこう:2020/02/01(土) 00:07:22.92 .net
ちょろまかし放題じゃん!

20 :名無しさん@そうだ選挙にいこう:2020/02/01(土) 00:22:43.85 .net
>>18
単価が安くて巨大な物です。
イメージとしては梱包材の発泡スチロールみたいな製品です。
横流しなんてしないだろうと創業者からずっと在庫管理を放置していたら、どんどん悪化したようで、
ある程度はチェックしようということになりました
コストがめちゃくちゃ安いので廃棄に関してはどうでも良く、
横流しして会社の逸失利益が生じるのを最も避けたいといった方向性です

とりあえず映えある第一歩から非常に手間のかかるシート作成で心が折れそうなので、
せめて入力ぐらいは何とかしたいとお知恵を拝借したいと思った次第です

21 :名無しさん@そうだ選挙にいこう:2020/02/01(土) 00:43:58.00 .net
>>17
まず、データをいじる人や場所が複数あるシステムはExcelに向いてない
自分でやろうとしないでシステム屋に相談したら?
さもないと、このスレがあんたの質問だけで埋め尽くされるほど大変だと思うよ

22 :名無しさん@そうだ選挙にいこう:2020/02/01(土) 01:03:23.71 .net
面白過ぎるwww
鍵かけるとか防犯カメラ設置するとか、そっちじゃないのか。
逆に、横領するやつがいなきゃ在庫管理システム要らんのかい!ってのも。
そのレベルだと、無理にエクセル使わなくても、紙に手書きで良いような気もするし。

23 :名無しさん@そうだ選挙にいこう:2020/02/01(土) 01:22:37.57 .net
伝票に、商品の種類を識別できるバーコードでも付いているなら、1シートにまとめても問題ない。
DB的な集計をすればいいだけだから。Excelなら

24 :名無しさん@そうだ選挙にいこう:2020/02/01(土) 01:23:18.14 .net
SUMIF的な。

25 :名無しさん@そうだ選挙にいこう:2020/02/01(土) 01:33:48.46 .net
>>21
ありがとうございます
大体で在庫管理できるという条件で格安になるシステム、無かったんです

>>22
倉庫担当者が「少ないな、発注しよう」で済み、横領する人がいないなら、在庫管理システムは必要ありません
防犯カメラを設置しても、そもそも盗む人がいませんし、多少なら盗まれても問題ありません。工事現場のコーンみたいなモノです(あれより安い)
ただ、転売されるのはとてtも痛手なのです

26 :名無しさん@そうだ選挙にいこう:2020/02/01(土) 11:26:26.81 .net
>>25
品数や支店が多いとか少ないとかはあんまり関係なくて、こういうのは作る前の設計が一番大変なんだよ
へたな設計をすると、あとで仕事の内容が変わったり、やりたいことが増えた時に手直しができなくなるし、経験の浅い人にはかなり難しい

いくら目の前にExcelがあるからと言って、システムの製作はけっして簡単でも安上がりでもないんだけどね

27 :名無しさん@そうだ選挙にいこう:2020/02/01(土) 12:35:28.34 .net
ここは、何でそんな不思議仕様のエクセル作るんだ?
っていう質問が多いが、やっぱ裏には>>17みたいな事情があるんだろうな。

28 :名無しさん@そうだ選挙にいこう:2020/02/01(土) 12:40:31.81 .net
>>25
商品に番号捺印しちゃうってのはダメなんかい。
あ、まだ出荷してない筈の00504から00602がない!
誰かちょろまかしやがった!
あ、メルカリに出品されるじゃねえか!
みたいな。

29 :名無しさん@そうだ選挙にいこう:2020/02/01(土) 12:51:30.64 .net
>>28
無理だろw

30 :名無しさん@そうだ選挙にいこう:2020/02/01(土) 18:34:26 .net
スマソ教えてください。

EXCEL2019

フィルターを使ってますがこのフィルター行(1行目)の削除方法知りませんか?
▽が付いてる1行目です。

31 :名無しさん@そうだ選挙にいこう:2020/02/01(土) 19:18:26 .net
【1 OSの種類         .】 Win10
【2 Excelのバージョン   】 Excel2016か365
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
バージョンが定かでなくて申し訳ないのですが、質問です。
名前の定義をしてIF関数を使用したところ、数式をコピーしてないのに数式がコピーされたような状態になりました。
名前の定義をした範囲をテーブルに設定しようとすると#spillというエラーが出ます。
自力で調べた範囲ではスピルという新しい機能のようですが、範囲選択の前に@をつける以外で解除する方法がわかりませんでした。
このスピル?を無効化するには、どうしたらいいのでしょうか?
毎回@をつけるしかないのでしょうか、どなたかよろしくお願いします。

32 :名無しさん@そうだ選挙にいこう:2020/02/01(土) 21:24:17.26 .net
>>30
項目が無い状態でフィルタをかけたいという意味?

33 :名無しさん@そうだ選挙にいこう:2020/02/01(土) 21:27:02.31 .net
>>31
それは365インサイダーかオンラインで配列数式を使おうとしてCSEではなく間違えてエンターキーを押してしまったというレアなケースです

34 :名無しさん@そうだ選挙にいこう:2020/02/01(土) 21:29:55.05 .net
>>33
あ、ちげーわ
計算式を普通に失敗したやつです
数式の範囲を間違えたんだと思います
365新機能のスピルはかなり使えるので調べてみて下さいね

35 :名無しさん@そうだ選挙にいこう:2020/02/01(土) 23:21:34.99 .net
>>31
暗黙的なインターセクション演算子:@
https://support.office.com/ja-jp/article/%e6%9a%97%e9%bb%99%e7%9a%84%e3%81%aa%e3%82%a4%e3%83%b3%e3%82%bf%e3%83%bc%e3%82%bb%e3%82%af%e3%82%b7%e3%83%a7%e3%83%b3%e6%bc%94%e7%ae%97%e5%ad%90-ce3be07b-0101-4450-a24e-c1c999be2b34

36 :名無しさん@そうだ選挙にいこう:2020/02/01(土) 23:46:07.87 .net
>>30
普通に削除できる
フィルタを残したままって意味なら無理。一回フィルタを解除してから再設定

37 :名無しさん@そうだ選挙にいこう:2020/02/01(土) 23:51:26.25 .net
Excel365の新機能
 動的配列数式
 FILTER関数/RANDARRAY関数/SEQUENCE関数/SORT関数/SORTBY関数/UNIQUE関数
 XMATCH関数/XLOOKUP関数

38 :名無しさん@そうだ選挙にいこう:2020/02/02(日) 06:51:35.75 .net
>>31です

>>34
計算式を失敗しているときと出てくるエラーが違っていて、名前をつけた範囲には間違いがないようでした。
スピルが適用された?範囲にはテーブルを設定したりは出来ないのでしょうか。

>>35
>>37
そんなに難しい数式等は使えないので、内容が難しいですが動的配列?とか使った事がなく、今回も使用してないのです。
新機能追加によってエラーが出た箇所が共通部分?になっているということでしょうか

質問出来るだけの知識が足りなかったようです。
もう少し自力で調べてみます。
レスくれた方々ありがとうございました。

39 :名無しさん@そうだ選挙にいこう:2020/02/02(日) 12:20:23 .net
>>38
スピルを覚えるべきだと思うよ
今後Excelのバージアップしていけば必ず付いてくるものだから
便利だし

例えば掛け算九九
この場合はB2に
=A2:A10*B1:J1
と入力するだけで表が完成する
http://imgur.com/ZX46JOf.jpg

40 :名無しさん@そうだ選挙にいこう:2020/02/02(日) 12:27:10 .net
原因聞いてるのに人の話聞けねーキチガイだな

41 :名無しさん@そうだ選挙にいこう:2020/02/02(日) 12:34:25 .net
>>39
スピルを切りたいという相談だよ

42 :名無しさん@そうだ選挙にいこう:2020/02/02(日) 12:47:14 .net
スピル便利だけど2019が流行らない
2010で止まってるわ

43 :名無しさん@そうだ選挙にいこう:2020/02/03(月) 12:48:54.12 .net
vbaのint関数で求めた数字と手計算で求めた数字が食い違います。
調べてみましたが対処法がよくわかりません、どなたかご存知の方いませんでしょうか。

44 :名無しさん@そうだ選挙にいこう:2020/02/03(月) 13:05:49.30 .net
>>43
(1) INT関数の仕様をよく読んで理解する
(2) 手計算にミスがないかよく確認する

45 :名無しさん@そうだ選挙にいこう:2020/02/03(月) 13:16:32.52 .net
>>43
どう違うかの情報がないからなんとも言えないけど
VBAのint関数の仕様と、関数に入れた変数の型について調べてみるといいと思うよ

46 :名無しさん@そうだ選挙にいこう:2020/02/03(月) 21:03:34.56 .net
>>43
どう違うんですか?

47 :名無しさん@そうだ選挙にいこう:2020/02/04(火) 08:48:02.70 .net
2016今日うpでしたら
右クリック、コメントの挿入が出来なくなった
shift+f2でやってるけど、同じ症状いない?
コメント入力後、右クリックすると
メモの削除・メモの表示って「メモ」に変わってるし訳わかめ

48 :名無しさん@そうだ選挙にいこう:2020/02/04(火) 10:11:14.34 .net
従来の「コメント」は「メモ」っていう名前になったんだよ。

ネットワーク系の機能の強化がしたいらしくて、多人数でやりとりする際の会話履歴も管理できる機能を
新しく追加して、それを「コメント」にしたらしい。

今まで通りの機能が使いたかったら、「メモ」を使う感じ。

49 :名無しさん@そうだ選挙にいこう:2020/02/04(火) 11:38:35.86 .net
そうなんか。
と思ったらコメントの挿入に戻ったわ
なんだかようわからんな。

50 :名無しさん@そうだ選挙にいこう:2020/02/04(火) 19:54:27 .net
30秒前まで普通に開けてたxlsmファイルが開けなくなりました(機能を停止しましたになる)
有名なバグを起こすWindows updateはインストールされていませんでした
何か解決策ないでしょうか

51 :名無しさん@そうだ選挙にいこう:2020/02/04(火) 19:59:22 .net
>>50
windowsを再起動、cドライブの空きをチェック、システム全体のウィルスチェック

52 :名無しさん@そうだ選挙にいこう:2020/02/04(火) 21:22:33.32 .net
>>50
だめもとでLibreOfficeのCalcで開いて別名で保存

53 :名無しさん@そうだ選挙にいこう:2020/02/04(火) 21:23:52.03 .net
>>50
スプレッドシートにインポートしてみる

54 :名無しさん@そうだ選挙にいこう:2020/02/04(火) 22:08:44 .net
>>50
Excelを起動して
「ファイルを開く」のダイヤログボックスで▼をクリックすると
「開いて修復する」ってのが出る。
これで「修復」するか、できなければ、マクロを諦めて「データを抽出」する

55 :名無しさん@そうだ選挙にいこう:2020/02/04(火) 22:29:23 .net
ExcelのかわりにGoogle spreadsheetが台頭してきましたが
これにもマクロは使えるの?

56 :名無しさん@そうだ選挙にいこう:2020/02/04(火) 22:41:21 .net
spreadsheetのスレで聞けばいいんじゃないかな

57 :名無しさん@そうだ選挙にいこう:2020/02/04(火) 22:42:12 .net
>>55
使える。
が、調べたほうがいいかな
互換性が合ったりなかったり、日進月歩だったり
https://forest.watch.impress.co.jp/docs/news/1116757.html

ただ個人的にvbaの方がつかいやすいとは思う

58 :名無しさん@そうだ選挙にいこう:2020/02/04(火) 22:46:19 .net
>>57
Excelのマクロ付きのをそのままspreadsheetに移行できて使えるの?

59 :名無しさん@そうだ選挙にいこう:2020/02/04(火) 22:47:56 .net
単に似てるだけなら
すべてのコードを移植(書き直すことだ)しないといけないなら面倒なことこの上ない

60 :名無しさん@そうだ選挙にいこう:2020/02/04(火) 23:27:08 .net
>>58
そのままは全く無理。仕組みが違う
※と、俺の知識では。もしかするとあるかもね

61 :名無しさん@そうだ選挙にいこう:2020/02/04(火) 23:28:57 .net
googleならその辺やるだろ、ともっていたけど、goolgeは開発者には厳しい
オブジェクトやAccess権からして違う。あまり期待しないほうが良い

62 :名無しさん@そうだ選挙にいこう:2020/02/05(水) 07:17:18.81 .net
そもそも
> ExcelのかわりにGoogle spreadsheetが台頭してきました
ってホントなの?

63 :名無しさん@そうだ選挙にいこう:2020/02/05(水) 19:25:42.55 .net
時々現れるspreadsheet信者やろ

64 :名無しさん@そうだ選挙にいこう:2020/02/05(水) 20:56:46.88 .net
いい面もあるけど、知らない間に仕様変えられちゃうのがなぁ。
ググると古い情報が引っかかって、たまにどっちやねんってなる。

65 :名無しさん@そうだ選挙にいこう:2020/02/07(金) 08:47:51.86 .net
今までは式の入ってるセルにベタ打ちして式破壊!だったけど、これからはスピルのゴーストセルを一生懸命編集しようとして時間を無駄にする
が流行るかな?
「おい!何だこれ!全然入力出来ないじゃないか!PC壊れたあああ!!!」とか

66 :名無しさん@そうだ選挙にいこう:2020/02/07(金) 20:00:42 .net
下手に弄った上に騒がれるより勝手に騒いでるだけになるからいい

67 :名無しさん@そうだ選挙にいこう:2020/02/09(日) 11:53:25.88 .net
【1 OSの種類         .】 Windows8.1
【2 Excelのバージョン   】 Excel 2016
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

教えてください。

ユーザーフォーム上に配置したリストボックスに30個のデータが表示されています。
30個のデータには1〜30の通し番号が降ってあります。
リストボックスの1つのデータをクリックすると,シートの内容はvlookupによって切り替わっていきます。
シート上のA1セルにも,リストボックスで選択した通し番号に切り替わります。

ユーザーフォーム上には,「次の番号へ」と「前の番号へ」のボタンも配置しています。
シートの内容を連続して切り替えて確認したいときに使うボタンです。

ユーザーフォーム上には,現在の通し番号を表示するテキストボックスも配置しています。
ユーザーフォーム上の「次の番号へ」と「前の番号へ」のボタンをクリックすることで,テキストボックスの通し番号も切り替わっていきます。

このとき,リストボックス上でも,選択している通し番号のデータの反転表示が切り替わっていくようにしたいのですが,現状では切り替わっていきません。
リストボックス上の反転表示も切り替わっていくようにするにはどのようにすれば良いか教えてください。

68 :名無しさん@そうだ選挙にいこう:2020/02/09(日) 12:07:23.41 .net
>>67
indexを変更させれば良いだけだよ

Private Sub CommandButton1_Click()
ListBox1.ListIndex = ListBox1.ListIndex + 1
End Sub

Private Sub UserForm_Initialize()
ListBox1.AddItem 1
ListBox1.AddItem 2
ListBox1.AddItem 3
End Sub

69 :名無しさん@そうだ選挙にいこう:2020/02/09(日) 18:15:31.71 .net
>>68
お礼が遅くなりました。
無事,動作するようになりました。
ありがとうございました。

70 :名無しさん@そうだ選挙にいこう:2020/02/09(日) 18:22:00.14 .net
関数を使って111という結果が表示されてるセルA1と、ただ数値として111という結果が表示されてるB1は一致しないのが普通ですか?

A1を選択して中身を見ると数式になっているセルの書式設定を数値にしてもA1とB1が一致しません。

71 :名無しさん@そうだ選挙にいこう:2020/02/09(日) 19:32:26.65 .net
俺も最近似たような事あって、書式設定で小数点以下10桁位表示させてみたら値が異なってたことあったな

72 :名無しさん@そうだ選挙にいこう:2020/02/09(日) 19:58:14.43 .net
>>71
書式設定で両セルともに数値は数値でも定義違いで一致せずということ?
なんてややこしいんだ。

73 :名無しさん@そうだ選挙にいこう:2020/02/09(日) 20:17:50.17 .net
>>70
まさかとは思うけど、計算式の方は結果が文字列になってるってことはないですか?
最後に &"" があるとか、MID関数などの文字列関数が一番外側にきてるとか。

74 :名無しさん@そうだ選挙にいこう:2020/02/09(日) 20:20:51.21 .net
>>72
表示形式はあくまで見た目の設定であって値を変更するものじゃないよ

75 :名無しさん@そうだ選挙にいこう:2020/02/09(日) 20:53:48.23 .net
>>74
セルに書いてあることはあくまでも見せたいものであり、本当の値は上部のバーに出てくる=if(―,/,-,)とか?

つまりA1が111、B1が111と見えていても数式が全然違うから何をどうしても合致しないという結論になるのか。勉強になったわ。

76 :名無しさん@そうだ選挙にいこう:2020/02/09(日) 21:11:27.89 .net
>>75
=なんたらは値ではなく数式だ

77 :名無しさん@そうだ選挙にいこう:2020/02/09(日) 21:29:39.60 .net
>>74
VBAのFindメソッドを使った経験があれば、その違いは嫌でも思い知らされることになるな
特に日付などは例えば見た目今日の日付が02/09の書式設定で表示されてる場合は検索値はDateではなくFormat(Date,''mm/dd'')でないとエラーになるわけだし

78 :名無しさん@そうだ選挙にいこう:2020/02/09(日) 21:33:23.67 .net
見た目通り判定したいのであれば条件も見た目に合わせないと

79 :名無しさん@そうだ選挙にいこう:2020/02/09(日) 22:48:36.60 .net
文字列と'文字列の違いがわからん。

80 :名無しさん@そうだ選挙にいこう:2020/02/09(日) 22:48:48.59 .net
=演算子はExceLのxml要素にどんな値が格納されているかをバイナリで比較してるだけだから、セルの値の見た目とか実は殆んど関係がない
=で数値の一致を調べたいならINT関数なりROUND系関数なりで有効桁数をあらかじめ決め打ちしないと

81 :名無しさん@そうだ選挙にいこう:2020/02/09(日) 22:53:51.43 .net
>>79
123と'123の違いはわかるの?

82 :名無しさん@そうだ選挙にいこう:2020/02/09(日) 23:05:48.51 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

INDIRECT関数で範囲を指定した後、
その範囲を利用して、
INTERCEPT関数やSLOPE関数で
直線の式は算出できますか?

83 :名無しさん@そうだ選挙にいこう:2020/02/09(日) 23:25:26.86 .net
>>73
結果的に見えるものが111であってもmid使ってるなら文字列になっちゃうとかあるんですか?
それなら書式設定で数値を選択しても実際は数値ではなくなると?
それならそこで「これは数値にはできません」とエラー出してくれたらいいのに。

84 :名無しさん@そうだ選挙にいこう:2020/02/09(日) 23:25:49.39 .net
>79
ウオッチ式で見てみたけど、prefixcharacterってのがあるらしい
Sub foo()
Debug.Print Cells(2, 1).PrefixCharacter
End Sub
なんか変な処理してるなぁ

85 :名無しさん@そうだ選挙にいこう:2020/02/09(日) 23:28:37.48 .net
>>83
midだと文字列になるよ
表示形式が数値になっていても文字列


数値にして比較したいなら、*1をつけると良い
=MID("111",1,1)*1 = 111

文字列にして比較したいなら、&""をつけると良い
=MID("111",1,3)*1 = 111
=MID("111",1,3) = 111&""

86 :名無しさん@そうだ選挙にいこう:2020/02/09(日) 23:31:06.48 .net
>>76
両者111なのにエラー出るということは両者111ではないとエクセルは判定してると思うんですが。
=なんたらは数式であり111ではないので、これは111とエクセルに認識させるにはなんらかの関数がいる?

87 :名無しさん@そうだ選挙にいこう:2020/02/10(月) 00:07:44.34 .net
>>86
まずどういう計算で111を出してるんだ
111つっても111という数値、111という文字列、実は小数点もあるけど表示してないだけ、その他色々あるのに数字だけ言われてもわからん

88 :名無しさん@そうだ選挙にいこう:2020/02/10(月) 00:43:06.69 .net
>>81
それはわかる。
数字と'文字でしょう?
何で文字と'文字を作ったのかが謎。
いちいち文字型に変えてから打つのが面倒くさい人用か?
でもそれなら勝手に普通の文字型に変換してくれればいいだけの話だし・・。

>>84
それだとなんか'以外も出てきそう。

89 :名無しさん@そうだ選挙にいこう:2020/02/10(月) 05:51:09.38 .net
>>88
> それはわかる。
> 数字と'文字でしょう?
> 何で文字と'文字を作ったのかが謎。
統一してるだけだろ
入力する時にいちいち数値なのか文字列なのかを考えなくていいし、VBAとかで処理する時にも数値と文字列で扱い違うと面倒だし

90 :名無しさん@そうだ選挙にいこう:2020/02/10(月) 07:38:43.52 .net
>>88
「’」付きはめちゃくちゃ便利だと思うぞ
何も気にせずに強制的に文字列にしてくれる
なんであるのか、なんて考えても時間の無駄だぞ

91 :名無しさん@そうだ選挙にいこう:2020/02/10(月) 07:49:35.51 .net
住所禄の番地だけ別セルに入れようとしたら日付と解釈されてしまったとか、そういうトラブルを避けるために強制的に文字列にするのがアポストロフィ
Excelの挙動や細かいルールを暗記しなくても、初心者でも確実な結果が期待できるというメリットがある

92 :名無しさん@そうだ選挙にいこう:2020/02/10(月) 07:55:46.29 .net
プログラミングのルールとして、「' のあとに数字が来たら文字列と見なす」より
「' のあとに何が来ても文字列とみなす」の方がずっと簡単で処理も軽くなるんだよ

93 :名無しさん@そうだ選挙にいこう:2020/02/11(火) 03:08:02.42 .net
【1 OSの種類】 Windows10
【2 Excelのバージョン】 Excel2019
【3 VBAが使えるか】いいえ
【4 VBAでの回答の可否】否
Webサイトから、価格の情報だけをとりだしてセルに表示させることは出来ますか?
例えば、ある商品のヨドバシでの価格、ビックでの価格をリアルタイム(実際にはExcelファイルを開いた瞬間)の価格一覧を表示させたいです
WEBSERVICE関数を使ったりして何とか出来ませんでしょうか?

94 :名無しさん@そうだ選挙にいこう:2020/02/11(火) 08:08:24.37 .net
>>93
WEBSERVICE関数は32KBまでしか処理できない
ヨドバシの商品ページは300K、ビックも90Kぐらいあるので、WEBSERVICEでは無理
何か別の方法を考えるしかない

俺がざっと試した範囲だと、価格comをWEBクエリで取り込んで、その中からヨドバシを検索すればなんとかなりそうだった
Excel内だけで完結させたいなら、たぶんVBAを使った方が簡単で確実

95 :名無しさん@そうだ選挙にいこう:2020/02/11(火) 11:14:32.24 .net
powerqueryのweb処理はどんなもんですか?

96 :名無しさん@そうだ選挙にいこう:2020/02/11(火) 11:33:22.59 .net
やってみたほうが早いんじゃね
個人的にはweb関連はVBAのほうが融通効いて良い

97 :名無しさん@そうだ選挙にいこう:2020/02/11(火) 14:47:38.94 .net
何でエラーになるのかと思ったらそんな制限があったのか。>32KB
イスドン時代の感覚で作った関数か?

98 :名無しさん@そうだ選挙にいこう:2020/02/11(火) 14:53:56.97 .net
>>97
送られてきた結果がそのままセルの値になるから、セルの文字数制限にひっかかってる

99 :名無しさん@そうだ選挙にいこう:2020/02/11(火) 17:43:48.62 .net
社内にマクロやVBAの文化がないのですが、どのように始めていくのが、セオリーですか?
スクールで習う?勉強会に参加する?

100 :牧野:2020/02/11(火) 18:32:00.58 .net
勉強会に参加でいいんじゃね
鉄板はオフィス田中だと思うけど、まぁどんなとこ行っても大体ok

101 :名無しさん@そうだ選挙にいこう:2020/02/11(火) 19:22:41.53 .net
>社内にマクロやVBAの文化がない
それって野良マクロが許されて無いんじゃないの?

102 :名無しさん@そうだ選挙にいこう:2020/02/11(火) 20:01:30.61 .net
>>93
SeleniumBasic入れて、ユーザー定義関数作るのが良いかと。
Price(商品名,サイト名)とかね

103 :名無しさん@そうだ選挙にいこう:2020/02/11(火) 21:42:40 .net
勉強会なんてあるかい?
文化がないだけなら自分で作って実演して広めるのが一番だが、
文化もやる気もないとなると、開発依頼が殺到するだけ。
自分以外についてこられそうな人はいるんかい?

104 :名無しさん@そうだ選挙にいこう:2020/02/11(火) 22:03:04 .net
周りビックリするほどvbaとかに興味ない
めちゃくちゃ楽になるのになぁ

105 :名無しさん@そうだ選挙にいこう:2020/02/11(火) 22:24:16 .net
>>103
講習なら色んなとこでやってるぞ

106 :名無しさん@そうだ選挙にいこう:2020/02/11(火) 22:25:14 .net
>>104
大抵はマクロ記録で済むレベルだから無理して覚える必要がない

107 :名無しさん@そうだ選挙にいこう:2020/02/11(火) 22:40:32 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2019
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

表記ゆれを探す、良い方法はありますか?

取引先の一覧を作っているのですが、
?、株式会社、(株)、(株)と、この点だけでも表記がバラバラです
何か、良い方法は無いものでしょうか?

108 :名無しさん@そうだ選挙にいこう:2020/02/11(火) 23:24:25.06 .net
>>107
そういうのは会社ごとにローカルルールがあるだろうから、どちらかに置換するマクロを自分で作るしかない
違う表記を見つけるたびに置換ルールをどんどん追加してけば、1年後には最強のマクロが出来上がってる

109 :名無しさん@そうだ選挙にいこう:2020/02/11(火) 23:37:57.16 .net
学www
(株)を1文字で表せるよう気を利かせて作ったはずのものが、どうしてこうなった。

110 :名無しさん@そうだ選挙にいこう:2020/02/12(水) 07:48:02.87 .net
>>108
凄い!置換ルールの整備っていいですね、のんびり作ってみます

111 :名無しさん@そうだ選挙にいこう:2020/02/12(水) 09:41:51.58 .net
株式会社ホニャラ
株式会社 ホニャラ
株式会社 ホニャラ

スペースの有無や間隔も統一しときたいね

112 :名無しさん@そうだ選挙にいこう:2020/02/12(水) 10:15:12 .net
どれに統一することにしたのかは気になるな
どれがいんだろ

113 :名無しさん@そうだ選挙にいこう:2020/02/12(水) 10:24:27 .net
オレは置換より痴漢に興味があるな

114 :名無しさん@そうだ選挙にいこう:2020/02/12(水) 10:41:57 .net
>>106
マクロ記録は、これこそ正にマクロの真価だといっても過言ではないほどの条件分岐とループが出来ないのがな
さらにブックやシートを指定した操作も難しい、結局ある程度に思い通りになると変数や上記の分岐やループを覚えて自分で書く方に走るのは真面目に覚える気があるのならごく自然な流れ
そこそこ慣れてくるとわざわざマクロ記録で始めるよりも最初から普通に書く方が早いし楽だという結論に至る
俺も今ではマクロ記録など「この動作ってどういうコード書くんだっけ?」という時にしか使わないな

115 :名無しさん@そうだ選挙にいこう:2020/02/12(水) 12:28:34.01 .net
>>113
FANZAへGo!

116 :名無しさん@そうだ選挙にいこう:2020/02/12(水) 13:51:58.36 .net
質問です

シートAの行で連続して空白が8列続いた場合、シートAのa列の文字をシートBのb列に表示(20個まで)

が出来たらご教授ください

117 :名無しさん@そうだ選挙にいこう:2020/02/12(水) 14:20:48.53 .net
office365付属のecxelです

csv形式のデータを貼り付けると最初のカラムのダブルクオートが消えるという意味不明な制限がかかるのですが、この設定の消し方を教えてください


"a", "b", "c" を貼り付けると
勝手に変換されてa, "b","c"になります

118 :名無しさん@そうだ選挙にいこう:2020/02/12(水) 19:33:07.50 .net
>>114
プログラミング的な考え方ができる人は普通にVBAに興味持つ
そうでない人が多いんだよ

119 :名無しさん@そうだ選挙にいこう:2020/02/12(水) 19:34:49.56 .net
>>117
それ数値になってない?
インポートで文字列を選択すれば消えないはず

120 :名無しさん@そうだ選挙にいこう:2020/02/12(水) 19:35:03.94 .net
>>117
貼り付ける時の列の書式の違いを確認してみるとか

121 :名無しさん@そうだ選挙にいこう:2020/02/12(水) 19:48:55.92 .net
>>119-120
ありがとうございます
ctrl+vではなくテキストファイル ウィザードを使い、
区切り「選択なし」、文字列の引用符「なし」にしたうえで文字列として取り込むと想定した形になりました

122 :名無しさん@そうだ選挙にいこう:2020/02/12(水) 20:41:46.36 .net
印刷の質問です
300dpiだと一番細い点線が印刷されますが600dpiだとほぼ印刷されません
網掛けも同じ状況です
300dpiだと文字も汚くなるので600dpiで線や網掛けを印刷するにはどうしたらいいでしょうか?

123 :名無しさん@そうだ選挙にいこう:2020/02/12(水) 20:46:05.28 .net
一番細い点線やめたら

124 :名無しさん@そうだ選挙にいこう:2020/02/12(水) 20:58:30.93 .net
プリンタの設定をがんばれ

125 :名無しさん@そうだ選挙にいこう:2020/02/12(水) 21:06:14.65 .net
あー確か精細モードかなにかにすれば印刷されたような
インクの減りは早くなるけおd

126 :名無しさん@そうだ選挙にいこう:2020/02/12(水) 21:15:21.59 .net
>>124
一番濃くしてもなりません
>>125
精細モードはどこでやるのですか?

300dpiは印刷される
600dpiではかすかすでほぼ印刷されない
1200dpiではまったく印刷されない
でした

プリンタはブラザーのHL-5250DNです

127 :名無しさん@そうだ選挙にいこう:2020/02/12(水) 22:31:08.06 .net
ん?
高解像度の方が印刷されないと言ってるの?
どんな仕様やねん。

128 :名無しさん@そうだ選挙にいこう:2020/02/12(水) 22:50:31.60 .net
>>127
解像度あげるほど線が細く薄くかすれていく

129 :名無しさん@そうだ選挙にいこう:2020/02/12(水) 22:58:52.16 .net
その細くなったところが、プリンタが印刷しない部分に当たると印刷しなくなるわけだ

130 :名無しさん@そうだ選挙にいこう:2020/02/12(水) 23:29:53.99 .net
よくわからん。
逆のような気がするんだが。
SFC版フォーメーションサッカーで、奥のゴールが小さくなれば小さくなるほど網目が崩れるのと同じ原理じゃないの?

131 :名無しさん@そうだ選挙にいこう:2020/02/12(水) 23:53:22.79 .net
データ的には
300だとヘアラインは太くなるから印刷できる
600だと細くなるから印刷できない
ということだと思う

132 :名無しさん@そうだ選挙にいこう:2020/02/13(Thu) 06:33:52 .net
>>126
モノクロレーザーだからじゃない?
グレーの塗りつぶしとかも網掛けでしないとちゃんと印刷できない
極細ヘアラインはカラーだからかろうじてできてる人がいるんじゃなかろうか

133 :名無しさん@そうだ選挙にいこう:2020/02/13(Thu) 06:44:50 .net
解像度の低いモニターやプリンターでも太さの違いを表現するために、Excelの一番細い罫線は実はグレーの点線になってる
モノクロレーザーだと、グレーの部分は閾値の関係で白になってしまうことがある
これはプリンタ設定の印刷濃度とはまた別の話

この対策としては、一度高解像度のPDFに変換してから印刷すると、うまくいく場合もある

134 :名無しさん@そうだ選挙にいこう:2020/02/13(Thu) 06:51:01 .net
>>133
300だと印刷されるのもこういう理論なんだろうねグレー成分半分だから線として印刷されるみたいな

これはPDFにするしか方法ないの?
白黒印刷とかそんなんじゃだめなのかな?

135 :名無しさん@そうだ選挙にいこう:2020/02/13(木) 08:17:17.83 .net
セル罫線がわりにオートシェイプの線なら出来そう
っていうか
セル罫線は画面と印刷結果で太さ違う
オートシェイプの線なら太さ任意で指定できる

136 :名無しさん@そうだ選挙にいこう:2020/02/13(木) 08:28:04.18 .net
モノクロレーザーなら普通はグレースケールを網点に変換する設定がプリンター側にあるんじゃない?
そもそも元の質問には罫線とは書いてないけど、何を印刷したいんだろう

137 :93:2020/02/13(木) 14:37:38.90 .net
>>94
>>102
ありがとうございます
プログラミングとか全くわからないので、今の自分には難しそうですね…

138 :名無しさん@そうだ選挙にいこう:2020/02/13(木) 18:03:03.24 .net
officeが更新できない

139 :名無しさん@そうだ選挙にいこう:2020/02/13(木) 20:56:02.66 .net
【1 OSの種類 .】 Windows 8
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか  】 いいえ
【4 VBAでの回答の可否】 否

クエリにて更新するシート1のデータを元データとしてシート2やシート3にピボットテーブルで排出しデータやグラフで管理しています
シート4に別の管理をするためシート1のデータをSUMPRODUCT等で引っこ抜いて表示させようとして作成し上書き保存しました。
特にエラーコメントも出ていないのに何故かシート2やシート3のピボットテーブルがデータを貼り付けた表示に変わってピボットテーブルが消えました

バックアップしていのでやり直しましたがまた発生しました。ピボットテーブル自体何も変更していないのにただのデータ表示に変化する原因が分かりません

何か考えられる原因があれば教えて下さい

140 :名無しさん@そうだ選挙にいこう:2020/02/14(金) 19:35:46.52 .net
【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2013〜2019
【3 VBAが使えるか  】 はい
【4 VBAでの回答の可否】 可

a = ie.document.frames("aaa").document.forms("bbb").document.getElementsByTagName("ccc")(0).innerHtmlって長げえわ!!
と思ってSetを多用するんだけど、関数上でSetすると不安定になるの何とかならん?
今まで問題なかったものが、突然強制終了するようになったり、エラーになるはずの部分が飛ばされたりするんだわ。
例えば↓こういうのがあったら、On Error Resume Nextを使わない限り、普通はAで止まるじゃん?

順番@ MsgBox 存在するieオブジェクト.Name  ← メッセージが表示される
順番A MsgBox 存在しないieオブジェクト.Name ← エラーが出ずに飛ばされる
順番B MsgBox 存在するieオブジェクト.Name  ← メッセージが表示される

それが止まらずに、@とBだけ実行されたりするんだわ。
IE型をやめてObjectにすると直ったり、直ったと思ったらまた出て、関数を別のモジュールに移したら直ったり。
PublicとPrivateや、ByValとByRefを間違えているということでもない。

141 :名無しさん@そうだ選挙にいこう:2020/02/14(金) 19:36:48.95 .net
↑書き忘れた。保護モードのON/OFFも関係ない。

142 :名無しさん@そうだ選挙にいこう:2020/02/14(金) 19:45:52.00 .net
お前のクソPCのIEのバージョンは変わってないのか

143 :名無しさん@そうだ選挙にいこう:2020/02/14(金) 19:47:52.13 .net
DLLのバージョンとIEのバージョンの齟齬は無いのか

144 :名無しさん@そうだ選挙にいこう:2020/02/14(金) 19:48:43.99 .net
そもそもいまさらIE操作して動かないとかアホすぎんじゃないのか

145 :名無しさん@そうだ選挙にいこう:2020/02/14(金) 19:50:23.68 .net
自分が環境の変化についていけてないジジイのくせにバグだなんだ言い出すのは恥ずかしくないのか

146 :名無しさん@そうだ選挙にいこう:2020/02/14(金) 19:52:22.60 .net
>>140
ブレークポイント置いて変数の中身はチェックしたか?
最小構成で動作確認したか?
オブジェクトとプロパティとメソッドとエレメントと戻り値を間違えてないか?
Setできるのはオブジェクトだけだぞ

147 :名無しさん@そうだ選挙にいこう:2020/02/14(金) 20:17:44.58 .net
>>146
確認してもわからん。
動くときは問題なくて、強制終了する時は空だから。

MsgBox ieObject ← 直前までは入っている
a ieObject

Sub a(ieObject)

MsgBox ieObject ← 空 (問題ない時は[object]と表示される)

End Sub

なんでやねん。

148 :名無しさん@そうだ選挙にいこう:2020/02/14(金) 20:19:02.25 .net
↑もちろん行頭Option Explicitは欠かさない。

149 :名無しさん@そうだ選挙にいこう:2020/02/14(金) 20:41:14.73 .net
Const A As String = "A"

getElementsByName("A")(0)      ・・・ OK
getElementsByName(A)(0)        ・・・ 種類が一致しません
getElementsByName("" & A & "")(0) ・・・ OK

何でやねん

150 :名無しさん@そうだ選挙にいこう:2020/02/14(金) 21:00:32.32 .net
>>149
たぶんスコープ
typename(A)を調べてみ

151 :名無しさん@そうだ選挙にいこう:2020/02/15(土) 06:30:48 .net
そもそもVBAスレで聞かない時点でスルー推奨

152 :名無しさん@そうだ選挙にいこう:2020/02/15(土) 08:04:41 .net
getElementsByNameってメソッドなくないか

153 :名無しさん@そうだ選挙にいこう:2020/02/15(土) 19:13:07 .net
>>151
じゃあ何のためにあるの?
     ↓

【3 VBAが使えるか  】
【4 VBAでの回答の可否】

154 :名無しさん@そうだ選挙にいこう:2020/02/15(土) 19:19:08 .net
VBAで回答するためであってVBAの質問に答えるためではない

155 :名無しさん@そうだ選挙にいこう:2020/02/15(土) 19:28:40 .net
>>1にVBAの質問禁止とは書いてないが。
誰が決めた?

156 :名無しさん@そうだ選挙にいこう:2020/02/15(土) 20:00:50 .net
小学生かよ…

157 :名無しさん@そうだ選挙にいこう:2020/02/15(土) 20:33:03 .net
書いてないから何をしてもいいとか基地外かよw

158 :名無しさん@そうだ選挙にいこう:2020/02/15(土) 20:42:37 .net
典型的クソクレーマー志 思考

159 :名無しさん@そうだ選挙にいこう:2020/02/16(日) 00:50:02.80 .net
VBAはエクセルの機能の一つ。
全く問題ない。

160 :名無しさん@そうだ選挙にいこう:2020/02/16(日) 13:02:00.07 .net
もしかして:Variant

161 :名無しさん@そうだ選挙にいこう:2020/02/16(日) 15:07:00.27 .net
よろしくお願いいたします

【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2010と2013
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

A列からE列まで5列、行数は100行から500行(毎回ちがう)の表があります。
タイトル行は3行目にあり、4行目から下にデータがあります。
実現したいのは、タイトルのセルをクリックするとその列を基準にして
データを並べ替えするようにしたいです。
・A3をクリックするとA4からE最終行までをA列基準で並べ替え
・B3をクリックするとA4からE最終行までをB列基準で並べ替え
・3行目以外、AからE列以外のセルをクリックしても何もしない


こんなことできますか?

162 :名無しさん@そうだ選挙にいこう:2020/02/16(日) 15:22:59.75 .net
>>161
オートフィルタの並べ替え機能じゃダメなん

163 :名無しさん@そうだ選挙にいこう:2020/02/16(日) 15:28:27.30 .net
オートフィルターで十分だろ

164 :名無しさん@そうだ選挙にいこう:2020/02/16(日) 15:32:58.61 .net
>>162-163
すみません。
並べ替えついでに色の変更とかやりたいのと、
後学のために、
「セルのダブルクリックを補足し、機能付加したいセルだった場合はその機能の命令を実行する」
という方法を知りたいのです。

165 :名無しさん@そうだ選挙にいこう:2020/02/16(日) 15:43:20.43 .net
あ〜あ後出しかよ
うぜー

166 :名無しさん@そうだ選挙にいこう:2020/02/16(日) 16:03:47.70 .net
>>164
結局何をやりたいかまとめてくれ

167 :名無しさん@そうだ選挙にいこう:2020/02/16(日) 16:11:54.96 .net
みんな察しがいいって言うか読解力凄いなー
数回レス読んでも相手のやりたいことが分からないこと多い

168 :名無しさん@そうだ選挙にいこう:2020/02/16(日) 16:52:16.49 .net
本読め
実本じゃなくてブログとかでもいいからとにかくそれなりにまともな文章を読みまくれ

169 :名無しさん@そうだ選挙にいこう:2020/02/16(日) 17:18:59.45 .net
>>161
クリックじゃなくてWクリックですよね?
イベントプロシージャで可能です。

170 :名無しさん@そうだ選挙にいこう:2020/02/16(日) 19:47:50.66 .net
>>164
色の変更したいなら手動でやれ
後ろのはWorksheet_SelectionChangeイベント
あとは調べろ

171 :名無しさん@そうだ選挙にいこう:2020/02/16(日) 20:19:43.78 .net
>>164 Worksheet_BeforeDoubleClickで実現できる

172 :名無しさん@そうだ選挙にいこう:2020/02/17(月) 13:29:45.73 .net
【1 OSの種類         .】 Windows8
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

Excelデータをメールで送りたいんだけど、ほかのファイルから参照してるセルがあって、相手にはエラーで表示されるみたいなんだけど、改善する方法ありますか?

送るときにpdfにしたり、エラーの出るセルを数値として修正してから送ったりしてるんだけど、それ以外の方法があれば教えてほしいです

173 :名無しさん@そうだ選挙にいこう:2020/02/17(月) 14:13:11.34 .net
>>172
参照してるほかのファイルも一緒に送る

174 :名無しさん@そうだ選挙にいこう:2020/02/17(月) 14:38:10 .net
>>172
相手の方で開くときにリンクの更新をしないように丁重にお願いする
間違って更新した場合は保存せずに開き直してもらう

175 :名無しさん@そうだ選挙にいこう:2020/02/17(月) 20:04:40.91 .net
>>172
リンク解除してから送る

176 :名無しさん@そうだ選挙にいこう:2020/02/17(月) 20:51:28.37 .net
=A2%
これってどういう意味ですか?

177 :名無しさん@そうだ選挙にいこう:2020/02/18(火) 02:14:28.92 .net
>>176
A2セルの値をパーセントと見なす
簡単に言うと100で割るだけ

178 :名無しさん@そうだ選挙にいこう:2020/02/18(火) 04:41:52.46 .net
【1 OSの種類         .】 Windows8
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

https://i.imgur.com/C4RqQ4o.jpg

このような表をA9のセルにB.Eセルの横が〇の時間数の合計を入れたいのですがどういう数式になりますか?

179 :名無しさん@そうだ選挙にいこう:2020/02/18(火) 10:12:53.14 .net
>>178
B,Eセルが左詰めになってるから、文字列で入ってると想定して、

=SUM(IF(A1:A7="○",VALUE(B1:B7)),IF(D1:D7="○",VALUE(E1:E7)))

配列数式だから、Ctrl+Shift+Enterすること
○が付いてる欄に、数値に変換できない文字が入ってるとVALUE関数のところでエラーになるので注意

180 :名無しさん@そうだ選挙にいこう:2020/02/18(火) 12:45:06.52 .net
>>172
他のファイルからの参照なら問題ないんじゃないの? 

181 :名無しさん@そうだ選挙にいこう:2020/02/19(水) 19:22:41 .net
=あ&" "&いう
↑全角空白2マス
このセルに対してright関数で4文字抜き出すとなぜか「あ いう」と抜き出されてしまいます、なぜでしょうか?

182 :名無しさん@そうだ選挙にいこう:2020/02/19(水) 19:30:02 .net
1マスにしか見えんが…

183 :名無しさん@そうだ選挙にいこう:2020/02/19(水) 19:36:11 .net
半角空白1マスだな…

184 :名無しさん@そうだ選挙にいこう:2020/02/19(水) 20:41:23.48 .net
あ も いう も""ないからなまえのはず
きっと、いう="...あ いう" となまえていぎされているにちがいない

185 :名無しさん@そうだ選挙にいこう:2020/02/19(水) 20:41:56.90 .net
スマホから打ってるので全角になってるかわかりませんがpcでは全角にしているという意味です

186 :名無しさん@そうだ選挙にいこう:2020/02/19(水) 20:46:54.28 .net
>あ も
>きっ

一瞬 あっ きもっ かと思ったわ。

187 :名無しさん@そうだ選挙にいこう:2020/02/20(木) 10:07:15.92 .net
今まで現場一筋でエクセルは稟議書の雛形に入力して作ったり、テナントへのお知らせ
作ったり位しか経験なく、転職で内勤になることになり4月1日から事務作業メインで
やることになったのですが、今から4月1日まででエクセルを学ぶ場合どのようなこと
やった方がいいとか、どのような参考書がオススメ等あるでしょうか?

家のエクセルは2013のもので面接では4月1日までにエクセルで表作ったり表計算
出来るようにはなってほしいという感じで言われたのですが…。

188 :名無しさん@そうだ選挙にいこう:2020/02/20(木) 12:43:25.37 .net
>>187
罫線やセルの背景色などの書式設定、四則演算、IF関数、VLOOKUP関数あたりが一通りできればたぶん合格点貰えるのではと思う

インプレスっていう出版社からいくつか出てる初心者向けのテキストが手頃で良さそうだよ

189 :名無しさん@そうだ選挙にいこう:2020/02/20(木) 13:32:01.07 .net
>>187
バージョンによってメニューの場所とかだいぶ変わってるから、すぐに仕事させられるんなら同じのを買って慣れといた方がいいかも
数式を覚えるだけなら基本的な部分は同じだからそのままでもいいけど

190 :名無しさん@そうだ選挙にいこう:2020/02/20(木) 14:18:34.35 .net
>>187
やった方がいいこと: 新しい職場でこれまでに印刷したものをもらい、トレースし、思いの限り魔改造する

191 :名無しさん@そうだ選挙にいこう:2020/02/20(木) 14:43:48.36 .net
>>187
FOM出版のよくわかる基礎シリーズ、おすすめです。
まずは立ち読みして良さそうなら。

192 :名無しさん@そうだ選挙にいこう:2020/02/20(木) 15:17:51.82 .net
>>187
用途によっても変わるけど、少なくとも上司とか誰かに引き継ぐ書類なら無意味な空白を入れない、セル結合はしない
標準の設定の通り文字列は左寄せ、数値は右寄せにして中央揃えはNG、どうしても左右の間隔が気になるならインデントで調整する
数値は出来る限り桁区切りを使用し、日付やその他単位を付けるならベタ打ちではなく書式設定をする

193 :名無しさん@そうだ選挙にいこう:2020/02/20(木) 15:34:47.26 .net
187ですが色々教えていただきありがとうございます!

4月に入社する会社にofficeのバージョン、どういう資料作るのか聞いてみて
それにあったインパルス社のできるゼロからはじめるエクセル〇〇〇〇超入門や
FOM出版のよくわかる初心者のための Microsoft Excel 〇〇〇〇等年代あったもの
購入しようと思います!

194 :名無しさん@そうだ選挙にいこう:2020/02/20(Thu) 17:50:09 .net
Excel仕事は「面倒くさいだのと言ってたら仕事にならん(キリッ!)」などと思考停止してせっせと面倒くさい作業をしていては仕事にならない
一々右手をマウスに持ち変えてクリックするのが面倒くさい→ショートカットを使いましょう
何行も何列も手入力するのが面倒くさい→関数やオートフィルを使えばよい
改めて集計結果の表なんて作ってられない→ピボットテーブルがあるじゃないか
こんなのひたすら手作業手入力でやってたら何時に帰れることやら・・→マクロ・VBAの世界にようこそ
という具合でExcelに限らず「面倒くさい」と感じるのは効率化の第一歩なんだよな

195 :名無しさん@そうだ選挙にいこう:2020/02/20(木) 19:11:03.56 .net
>>192
> どうしても左右の間隔が気になるならインデントで調整する
ないわー
てか中央揃えダメとかアホだろ

196 :名無しさん@そうだ選挙にいこう:2020/02/20(木) 19:28:23.20 .net
シフト+スペースとコントロールスペースでいつも止まる

197 :名無しさん@そうだ選挙にいこう:2020/02/20(木) 19:54:49.82 .net
インデントはいつになったらもっと細かく揃えさせてくれるようになるのか

198 :名無しさん@そうだ選挙にいこう:2020/02/21(金) 00:39:38.54 .net
【1 OSの種類         .】 Windows 8.1
【2 Excelのバージョン   】 Excel 2016
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

複数シートがあるファイルで,ある2つのシートを両面印刷したいです。
ネットで検索すると,両面印刷はプリンター側の範疇なので,EXCELやVABでは制御できないという記述しか見つかりませんでした。
プリンターのダイアログボックスが表示されるようにVBAに記述し,そこで両面印刷に切り替えればなんとかなりそうだ,まではたどり着きました。
しかし,その2つのシートを選択し,上記のようにしても両面印刷にはならず,片面印刷で2枚プリンアウトされるだけでした。

更に考え,2つのシートをカメラ機能を使って別のシートに並べて貼り付けました。
そして,印刷し,プリンターのダイアログボックスが表示されたときに,両面印刷すると,なんとか両面印刷することができました。

しかし,次の問題が出てきました。2枚のシートの上下左右の余白が異なるためか,カメラ機能で2枚を貼り付けたシートを印刷すると,3〜5ミリほどですが大きさの異なった状態で印刷されるのです。
「3〜5ミリの差異があるが認められるか」と問い合わせると,「認められない」という回答でした。
2つのシートはある様式で表組みされており,VLOOKUP関数を用いて別シートから読み込んだデータを読み込んでいます。
VLOOKUP関数で任意の番号のデータを読み込んで印刷するため,裏表の内容が別番号のデータにものにならないように,1度で両面印刷したいのですが。

現状だと,1シート目をプリントアウトし,その用紙を並べ替え,プリンターにセットし直して2ページ目を裏に印刷する。その後,裏表の内容が同一番号のデータ化を目で確認するという方法しか思いつきません。
何か良い方法があれば教えてください。

199 :名無しさん@そうだ選挙にいこう:2020/02/21(金) 01:09:01.40 .net
>>198
両方のシートをPDF化したあと結合して1つのPDFにすれば普通に両面印刷できる

200 :名無しさん@そうだ選挙にいこう:2020/02/21(金) 02:06:41.06 .net
カメラ機能ってなんやねん。

201 :名無しさん@そうだ選挙にいこう:2020/02/21(金) 11:10:52.07 .net
【1 OSの種類         .】 Windows 10
【2 Excelのバージョン   】 Excel 2019

条件付き書式が設定されているセルをコピペすると
条件付き書式が引き継がれないんだが俺だけ?

202 :名無しさん@そうだ選挙にいこう:2020/02/21(金) 11:17:59.42 .net
問い合わせ先は誰やねんw

203 :名無しさん@そうだ選挙にいこう:2020/02/21(金) 11:22:44.49 .net
>>192
中央揃えって、他と違ってそんなに害がない、という認識なんだけど
なんか不都合あったっけか

204 :名無しさん@そうだ選挙にいこう:2020/02/21(金) 12:41:20.31 .net
>>203
強いて挙げると文字数がバラバラだと見た目不細工なのと、数値と文字列の区別が付き辛いとこかな?
見た目は気にしないのとそもそも数値と文字列の違いなどわからんという人の方が多いだろうから大した問題でもないけど

205 :名無しさん@そうだ選挙にいこう:2020/02/21(金) 13:56:25.34 .net
『コントロール』+『F』で検索するときに、
前に検索した文字が出てきてしまいますが、
なにも文字が出てこないようにって出来ますでしょうか?

206 :名無しさん@そうだ選挙にいこう:2020/02/21(金) 15:09:27.06 .net
前の設定をそのまま使えるってのがウリだからできないんじゃないのかな

207 :名無しさん@そうだ選挙にいこう:2020/02/21(金) 16:25:32.47 .net
>>205
検索文字欄が全選択状態になるから何も無いのと同等だと思うぞ

208 :名無しさん@そうだ選挙にいこう:2020/02/21(金) 22:58:26.47 .net
全選択をいちいちクリックして有効化してからdeleteする同僚見るとすごいイライラする

209 :名無しさん@そうだ選挙にいこう:2020/02/21(金) 23:17:13.20 .net
余裕ないんやね

210 :名無しさん@そうだ選挙にいこう:2020/02/21(金) 23:30:21.89 .net
>全選択をいちいちクリックして有効化
これどゆこと?
左上の△のこと?

211 :名無しさん@そうだ選挙にいこう:2020/02/22(土) 03:16:15.93 .net
例えば5文字全選択されていて、deleteを1回おせばそのままdeleteできるのに、
クリックして全選択を解除してdelete5回押す

212 :名無しさん@そうだ選挙にいこう:2020/02/22(土) 04:46:56.01 .net
選択状態ならいちいち消さなくても何か入力すれば置き換わる
そういうロジックが理解できない人は少なくない

213 :名無しさん@そうだ選挙にいこう:2020/02/22(土) 07:35:17.90 .net
>>211
選択状態を「全選択」なんて謎の単語に置き換える君も大概だぞ
傍から見てるとそんなに変わらない

214 :名無しさん@そうだ選挙にいこう:2020/02/22(土) 08:02:57.02 .net
>213
>207>208も使ってるんだから、そこに突っ込み入れるやつも異常

215 :名無しさん@そうだ選挙にいこう:2020/02/22(土) 08:44:52.45 .net
>>207は全選択「状態」って言ってるし>>208=>>211だろ

216 :名無しさん@そうだ選挙にいこう:2020/02/22(土) 08:52:36.87 .net
俺は>>208だけど>>211は別人
全選択ってみんな使わんの?

217 :名無しさん@そうだ選挙にいこう:2020/02/22(土) 09:18:22.17 .net
エクセルで全選択というのは、すべてのセルを選択した状態を指すのが一般的。
セルを編集状態にして、そのセルの文字列全体を選択するのを全選択というのは、分からなくはないけど。

218 :名無しさん@そうだ選挙にいこう:2020/02/22(土) 09:19:24.67 .net
普通に使う
「[Ctrl]+[A]で全選択」とか

219 :名無しさん@そうだ選挙にいこう:2020/02/22(土) 09:54:15 .net
全選択っていうと、普通はCtrl+Aだわな

220 :名無しさん@そうだ選挙にいこう:2020/02/22(土) 10:01:01 .net
人による。
俺はEXCELの場合はセル全選択。

221 :名無しさん@そうだ選挙にいこう:2020/02/22(土) 10:02:12 .net
少なくとも「謎の単語」じゃないわな

222 :名無しさん@そうだ選挙にいこう:2020/02/22(土) 10:04:10 .net
Ctrl+Aはすべて選択だな。
全選択って言われると違和感ある(´・ω・`)

223 :名無しさん@そうだ選挙にいこう:2020/02/22(土) 10:25:06.51 .net
文字全選択なんて普通に使われてる
しかしお前らみんな頭固いな
数式考える時とかもやばそう

224 :名無しさん@そうだ選挙にいこう:2020/02/22(土) 10:32:24.22 .net
それは全選択「操作」な
>>208は全選択を有効化とか書いてるからイミフになってる

225 :名無しさん@そうだ選挙にいこう:2020/02/22(土) 11:47:08.39 .net
何にしろくっそどうでもいい

226 :名無しさん@そうだ選挙にいこう:2020/02/22(土) 23:56:53.88 .net
共通の言葉で話す事は大事なことだと思うよ

227 :名無しさん@そうだ選挙にいこう:2020/02/23(日) 00:58:43.31 .net
他人の操作が気に食わないというどうでもいい主張に、お前の使う単語も気に食わないと言い合ってるだけ
大事な部分は1ミリも無い

228 :名無しさん@そうだ選挙にいこう:2020/02/23(日) 06:37:04.11 .net
謎の単語使う奴がボコられてるだけのいつもの光景w
まあこう言う奴は反省しないからゴキちゃんみたいにまたどこかで出てくる

229 :名無しさん@そうだ選挙にいこう:2020/02/23(日) 14:23:16.17 .net
MOS受けてきた。高い受験料払ってまで取るようなものでもなさそうだけど無事合格したんで良かった。

230 :名無しさん@そうだ選挙にいこう:2020/02/23(日) 14:30:41.86 .net

まぁ履歴書に書く一行としては妥当なもんだと思うよ

231 :名無しさん@そうだ選挙にいこう:2020/02/23(日) 15:09:51.85 .net
ってかMOSは落ちる人なんているのか?って思った
対策しなかったらダメだろうけど模試やってったら900点は確実に取れるじゃん

232 :名無しさん@そうだ選挙にいこう:2020/02/23(日) 15:18:26.89 .net
いないと思う
いかに使いこなすかってより、メニューの場所覚える試験でしょこれ

233 :名無しさん@そうだ選挙にいこう:2020/02/23(日) 15:21:29.93 .net
ありがと。得点みたら964点だったよ。何をミスったか分からんけど使い方の曖昧なところを整理するくらいのつもりだったのでまあ目的は果たした。
むしろVBAを触るのでそっちの試験の方が興味あるくらい。

234 :名無しさん@そうだ選挙にいこう:2020/02/23(日) 15:22:49.19 .net
mos受けたいけど持ってるの365なんだが

235 :名無しさん@そうだ選挙にいこう:2020/02/23(日) 15:24:32.99 .net
>>234
余裕で行ける

236 :名無しさん@そうだ選挙にいこう:2020/02/23(日) 15:26:45.66 .net
>>235
エキスパート行きたいんだけど行けんのか?
どうやって他のバージョンの勉強すればいいんだ?

237 :名無しさん@そうだ選挙にいこう:2020/02/23(日) 15:45:34.80 .net
>>236
資格板にMOSのスレあるからそっち言った方が良いぞ
2000円ぐらいの模試本買って5,6回練習すれば受かる
バージョン違いでも動くしやることは結局ピボットが中心だからバージョンによる影響はほとんどない

238 :名無しさん@そうだ選挙にいこう:2020/02/23(日) 18:06:35.17 .net
エキスパートって普段そんなの使わんだろってのばっかりだよね
その回簡単で満点だったけど

239 :名無しさん@そうだ選挙にいこう:2020/02/23(日) 18:48:36.78 .net
ピボットは凄い役に立ったよ
ピボット以外はまぁ、どうでもいいかってのばっかりだけど。

240 :名無しさん@そうだ選挙にいこう:2020/02/23(日) 18:49:23.27 .net
VBAで、MS QueryもADOもWindowsAPIもUIAutomationも使えるが、
余裕で落ちる気がするわ、その試験。
いつもVBAで書いてるのと同等の機能のボタンがどこにあるかわからんとか、普通にあるし。

241 :名無しさん@そうだ選挙にいこう:2020/02/23(日) 18:57:30.22 .net
>>240
ピボットはまだマシ。特に難関なのはグラフ。知らない機能が山程ある

242 :名無しさん@そうだ選挙にいこう:2020/02/25(火) 16:40:17.89 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

複数のシートを持つexcel形式の書類をiPad(他、androidタブレット)で閲覧するために、逐一PDFへの変換を行っています。
(エクセルブック形式のままでもiPad上で閲覧・編集もできるのは認識しています。
iPad上では閲覧のみを行い編集の必要がないため、軽快に閲覧が可能なPDFに変換し閲覧しています。)

現状、excelファイルを開いた後に
(1)「ファイル」→(2)「名前を付けて保存」→(3)(場所を選ぶ)→
→(4・5)ファイルの種類を「Excelブック(*.xlsx)」から「PDF(*.pdf)に変更」→
→(6)「オプション」→(7・8)発行対象を「選択したシート」から「ブック全体」に変更→
→(9)「保存」

と、そこそこのクリック数が必要で、変換する書類の数もそこそこ多い為
操作の簡略化が出来れば、と思っています。

自分でやってみたこととして、
クイックアクセスツールバーに「PDF/XPSの作成」を登録することで、
(1)〜(5)を省略できたのですが、
発行する対象のデフォルトが「選択したシート」な為、「ブック全体」の変換を行うために
(6)〜(8)の操作が必要なのであと一息楽ができればと思うのですが、

@発行対象のデフォルトを「ブック全体」に固定する方法、

A「1クリックでブック全体の表示されているシートをPDFに変換する」という機能(ないしマクロ)をがあれば教えていただければ幸いです。

Bまた、エクセルファイルを開くまでもなく、
エクセルファイルをパッチ(?)などにドラックしたら
PDFに変換された、みたいなことも可能なのでしょうか?

243 :名無しさん@そうだ選挙にいこう:2020/02/25(火) 17:48:01.19 .net
>>242

2はマクロならできます。
それ以外でできるかは分かりません。

3はフリーソフトとか、スクリプトとかあると思うので探してみてください。

244 :名無しさん@そうだ選挙にいこう:2020/02/25(火) 18:34:42.94 .net
@とAをセットにしてマクロにすればいいんでない?

245 :242:2020/02/25(火) 19:21:52.98 .net
Aのマクロと
Bのスクリプト
完成しました。お騒がせしてすみません。

@の、デフォルトで選択されてる保存方法を変更できる方法があれば引き続き教えてください。
(「前回の保存方法に準じたものが選択されている」のが理想なのですが・・・)

微妙にシチュエーションが違いますが、
画像を挿入しようとすると「ピクチャ」から選び始めになったり
1クリック単位でめんどくさいと思う場面が多いので、
固定か選択ができるなら変更したいです。

246 :名無しさん@そうだ選挙にいこう:2020/02/25(火) 23:39:24.73 .net
印刷をPDFプリンタは?
クイック印刷アイコンクリックだけで終わると思うけど

247 :名無しさん@そうだ選挙にいこう:2020/02/26(水) 07:12:22.67 .net
>>245
> (「前回の保存方法に準じたものが選択されている」のが理想なのですが・・・)
が、何を言ってるのかよくわからんけどブック全体をPDFにするだけなら
Worksheets.Select
ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, fileName:="ファイル.pdf"
でいけると思う

248 :名無しさん@そうだ選挙にいこう:2020/02/26(水) 10:54:12.00 .net
>>245
Application.GetOpenFilename使って自前でファイルを開くダイアログから組めばいいと思うぞ

249 :名無しさん@そうだ選挙にいこう:2020/02/26(水) 12:42:33 .net
こんな感じでどうや

Sub Sample()

Dim strFilePath As String
strFilePath = Application.GetSaveAsFilename(InitialFileName:="Sample")

ThisWorkbook.ExpoSubrtAsFixedFormat Type:=xlTypePDF _
, Filename:=strFilePath _
, OpenAfterPublish:=False

End Sub

250 :名無しさん@そうだ選挙にいこう:2020/02/26(水) 17:25:07.20 .net
文字列の長さに応じて列の長さを変えたいと思います
vbaでの列幅の自動調整方法としてはautofitがありますが、入力即自動で列幅調整を入れるためにselection changeに書くと、セルを選択するだけですでにあるセルが謎の長さに調整されてしまいます
これはどういうことなのでしょうか。

また、本文書はA4縦印刷を想定していますが、列が自動調整された結果、横が収まらなくなった場合のみ横向きで印刷するようにするにはどう書けばいいでしょうか。

251 :名無しさん@そうだ選挙にいこう:2020/02/26(水) 19:07:45.95 .net
そりゃそうでしょう。
selection changeって選択時に発動するイベントだし。

紙の縦か横かは、
例えばA〜G列のWidthをひたすら足して、一定の値を超えるかどうかで判定。

252 :名無しさん@そうだ選挙にいこう:2020/02/26(水) 19:54:10.98 .net
セルから時間を引いて、時間を出したいのですがどうしたら良いでしょうか?
具体的にはIF関数の中に、セル(時間のシリアル値)から10:00(固定)を入れたいのですが方法が分かりません。
初歩的な質問ですが、色々なキーワードでググっても分からなかったのでよろしくお願いします。

253 :名無しさん@そうだ選挙にいこう:2020/02/26(水) 19:57:30.82 .net
24:00が1だから、10:00なら(10/24)とすればOKでしょう。

254 :名無しさん@そうだ選挙にいこう:2020/02/26(水) 20:00:27.47 .net
>>253
そんな単純な方法で良かったんですね。ありがとうございました!

255 :名無しさん@そうだ選挙にいこう:2020/02/26(水) 20:43:18.07 .net
>>252
そのシリアル値入ったセルそのまま参照するだけで計算できるはずだが

256 :名無しさん@そうだ選挙にいこう:2020/02/26(水) 20:56:48.45 .net
A1=--"11:00"
B1=A1-"10:00"

257 :sage:2020/02/27(木) 01:06:59.72 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

6ヶ月後の前日を計算する場合EDATE関数から1日を引くが簡単だと思いますが、月末時の日付処理がうまくできません
具体的には
2019/04/30→2020/10/29
2019/08/31→2020/02/28(本当は29日にしたい)
2019/07/31→2020/01/30

1つの関数で処理できないのでしょうか?
月末以外はうまく処理できるのですが…

258 :名無しさん@そうだ選挙にいこう:2020/02/27(Thu) 03:59:51 .net
>>257
今はどういう数式でやってるの?

259 :sage:2020/02/27(Thu) 06:23:19 .net
>>258
edateで半年後を求めてそこから1日ひいています
月中やほとんどの月末は問題ないのですが、3月や8月の半年後が想定通りいかないので、そこは手入力
ミスを減らしたいので統一した関数にしたいのです

260 :名無しさん@そうだ選挙にいこう:2020/02/27(Thu) 06:39:09 .net
>>259
もし、式が
=EDATE(A1,6)-1
だとすると、8月以外にも
3月31日→9月29日
5月31日→11月29日
10月31日→4月29日
12月31日→6月29日
になるけど、それも全部手作業で30日に修正してるってこと?

261 :名無しさん@そうだ選挙にいこう:2020/02/27(木) 07:20:21.75 .net
>>257
=EDATE("2019/08/31"-1,6) だと2020/2/29になったけど、今度は31日無い月の翌月の初日で問題あるね
正解の方が大きいはずだからMAXとればいけると思うけど、それだと関数3つになるからNGか
それなら配列式使ってEDATEを一つ減らして、

=MAX(EDATE(基準日-{1;0},6)-{0;1}) で関数2つが今のところ限度かな。

ちゃんと検証してないからNGパターンがあるかもしれないけど。

262 :sage:2020/02/27(木) 07:24:35.85 .net
>>260
そうなります
書類の保管期限のことなので、他にも3ヶ月や一年以上もあります
edateが存在しない日付の場合前日を設定するので…
edate-1が存在しなければ前日にするというふうになればいいのですが、うまくできないでしょうか?

263 :名無しさん@そうだ選挙にいこう:2020/02/27(木) 07:53:09.76 .net
>>255
>>256
ありがとうございます。""で囲むのは盲点でした。無理と思って試していなかったです。
そんなに簡単な方法があるならググっても出てこなかったのは当然ですね

264 :名無しさん@そうだ選挙にいこう:2020/02/27(木) 11:06:08.40 .net
>>262
これでどう?
=EDATE(A1,6)-(DAY(A1)-DAY(EDATE(A1,6)-1)=1)

265 :名無しさん@そうだ選挙にいこう:2020/02/27(木) 11:24:49.01 .net
>>262
もうちょっと短縮できた
=EDATE(A1,6)-(DAY(A1)=DAY(EDATE(A1,6)))

266 :名無しさん@そうだ選挙にいこう:2020/02/27(木) 11:57:37.18 .net
=IF(DAY(A1)=1,EDATE(A1,6)-1,EDATE(A1-1,6))

267 :名無しさん@そうだ選挙にいこう:2020/02/27(木) 17:49:41.67 .net
利息計算するにあたり、利率iをどの型で定義するのがいいか迷ってます
currencyだと小数点第3位で四捨五入されてしまうらしくそれ以上続く利率の時計算できない、doubleだと500,000円以下の時なぜか1円少ない計算結果になるなどの不具合が見つかってます
何かいい案ないでしょうか?

268 :名無しさん@そうだ選挙にいこう:2020/02/27(木) 17:58:43.53 .net
なぜか1円少ない計算結果になる原因を調べて直すのがいいと思います

269 :名無しさん@そうだ選挙にいこう:2020/02/27(Thu) 19:46:05 .net
Variant/Decimal
型宣言できないけど

270 :名無しさん@そうだ選挙にいこう:2020/02/27(Thu) 21:00:39 .net
>>267
利息の計算方法は金融機関によって違う
ネットで調べるか、問い合わせれば、何日ごとに少数何位でどうするか、細かいルールをきちんと教えてくれる
まずはそこを調べて、その通りに計算する式を作らないと、単純に利率を掛けただけでは誤差が出る可能性がある

271 :名無しさん@そうだ選挙にいこう:2020/02/27(Thu) 21:11:50 .net
切り捨て、切り上げ、四捨五入、五捨六入の使い分け

272 :名無しさん@そうだ選挙にいこう:2020/02/28(金) 00:34:04 .net
>>267だけどどうしてもわからない・・

273 :名無しさん@そうだ選挙にいこう:2020/02/28(金) 06:54:24.13 .net
>>272
循環小数や桁落ちによる演算誤差を避けるため、>>270の言うように金額計算に絡む計算機での小数点の扱いは金融機関や財務部門の運用で決まっていることが多いと思う
普通は許容誤差を定義して定点データに対して許容誤差内の端数値を切り捨ててるはず
単純に10進数表現での計算精度を高めたいならVariant型で一度変数宣言してからCDec関数に利率計算の式を突っ込んでDecimal型に型変換すると良いけど、これも演算誤差の問題は避けられない

274 :名無しさん@そうだ選挙にいこう:2020/02/29(土) 12:04:47 .net
時間合計で24Hを超えたら1日と何時表示できるようにする方法を教えて下さい。

書式HH:MM:SSのセルを合計させた
例えば、55:26:22という数字を "2日7:26:22"とセルに表示させたいです。
ユーザー定義D日 HH:MM:SSだと2日になってくれず 1日 07:26:22となってしまい、

=ROUNDDOWN(** /24,0)&"日"&**-(ROUNDDOWN(**/24,0)*24)&"時間"
というのもあるそうですがこれだとHH:MM:SSセルでは使えないです。

よろしくおねがいします。

275 :名無しさん@そうだ選挙にいこう:2020/02/29(土) 12:40:47 .net
>>274
=INT(A1)&"日"&TEXT(A1,"hh:mm:ss")

276 :名無しさん@そうだ選挙にいこう:2020/02/29(土) 13:25:34 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

テーブルとして書式設定された表の一部分のみソートしたいのですが、範囲選択してソートしても表全体が並びかえられてしまいます。
どうすれば一部分(今回の場合、ある行より下のみ)を並び替えることが出来るのでしょうか。

277 :274:2020/02/29(土) 13:27:10 .net
>>275
できました。ありがとうございます。

278 :名無しさん@そうだ選挙にいこう:2020/02/29(土) 19:49:12 .net
>>276
VBAで一瞬テーブルを解除して、ソートして、再度テーブル化するだけだが、
そもそもそのテーブルの使い方が変なんだと思う。
テーブルというのはDB的に使いたい時に使うものだから、
一部分だけをソートする必要がある場合、
区分用の列を作って、それを基準にソートする方がいい。

279 :名無しさん@そうだ選挙にいこう:2020/03/01(日) 14:29:21.48 .net
>>276
一旦別セルにコピーしてソート、値のみ貼り付け直す

280 :名無しさん@そうだ選挙にいこう:2020/03/01(日) 23:36:31.88 .net
>>278-279
別セル張り付けが楽そうですね

データが全て埋まっておらず飛び飛びになっているとき、一部分だけ並びかえたいことがあるんですよね

281 :名無しさん@そうだ選挙にいこう:2020/03/02(月) 02:09:21.83 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

助けてください

エクセルで条件付き書式→セルの強調表示ルールで「濃い赤の文字、明るい赤の背景」を使用しました。

そこで使われた「明るい赤の背景」がどの色なのかわかりません。
手動で同じ色に塗りたいセルがあるので困ってます。

通常ですと塗りつぶし、その他の色、ユーザー設定を見てRGBを調べるのですが、条件付き書式で自動設定した色の場合はセルの情報見ても色が付いていないことになってしまっていて...
どなたかご教示下さい

282 :名無しさん@そうだ選挙にいこう:2020/03/02(月) 07:40:34.45 .net
>>281
スクリーンショットをコピー、ペイントにペーストして色情報を取得
https://detail-infomation.com/rgb-image-color-picker/

283 :名無しさん@そうだ選挙にいこう:2020/03/02(月) 09:23:32.15 .net
>>281
その塗りつぶされたセルを選択した状態で
「条件付き書式」→「ルールの管理」→「ルールの編集」→「書式」→「塗りつぶし」→「その他の色」
でRGBが出る

284 :名無しさん@そうだ選挙にいこう:2020/03/02(月) 10:56:25.50 .net
>>282
ありがとうございます!
すぐに解決しました!

申し訳ありませんがもう一つ質問よろしいでしょうか?
現在、A行にプルダウン式で任意の品名項目を選択することによりB行の数値変動を見ることができる表を作成しています。

その場合B行の計算結果のセルには subtotalが不可欠かと思うのですが、B列には計算に含みたくないも行もあるため、手動でセルを選択して式を入力しておりました。(決まった行間隔)
徐々に行が増えてきており手打ちが不可能になってきました。modを使用したいのですが、そうするとsubtotalができず悩んでいます。
subtotalを活かしつつ任意の行のセルの数値を足す技はないでしょうか?

285 :名無しさん@そうだ選挙にいこう:2020/03/02(月) 18:08:46.99 .net
sumifs関数で除外する行に除外フラグたてて
品目一覧毎の合計取得したほうがよくね?
Subtotalで手作業の範囲指定なんて間違える元じゃないか?

286 :名無しさん@そうだ選挙にいこう:2020/03/02(月) 21:36:24.32 .net
subtotalで配列数式とか組めば行けるかと思ったけどうまく行かなかった
=+SUMPRODUCT((MOD(ROW(C2:C10),2)=1)*SUBTOTAL(9,C2:C10))

これなら行けるんだけど、ハテ
=++SUMPRODUCT((MOD(ROW(C2:C10),2)=1)*C2:C10)

287 :名無しさん@そうだ選挙にいこう:2020/03/02(月) 22:34:28.07 .net
Decimal で 使いたい場合、Variant 型で定義し、そこに CDec 関数で値を代入すると、Decimal 型として使える。
↑これはどういう意味でしょうか・・

288 :名無しさん@そうだ選挙にいこう:2020/03/02(月) 22:58:55.64 .net
>>287
decimalは桁数だけで見ると最も大きい数字を扱える
https://www.tipsfound.com/vba/02008

反面小数などは一切使えないし、確か計算も遅かった気がする

で、そのdecimalは型としては存在するんだけど何故か宣言できない
dim a as decimal 'ってのができない

どうしても使いたい場合は、
Dim a
a = CDec(1)
とかにするとaがvariant/decimal型になる

なんでこういう仕様になってるのかはよく分からん

289 :名無しさん@そうだ選挙にいこう:2020/03/02(月) 23:18:53.94 .net
>>288
小数には使えないんですか?
ググった限りだと10進数の小数を2進数に変換するときの丸め誤差をなくすためにdecimalを使うというような話を見たので、小数点以下の計算の精度を上げるためにこそ使えるものだと思ったんですが・・

290 :名無しさん@そうだ選挙にいこう:2020/03/02(月) 23:37:30.90 .net
文字列がAだったら1をBだったら2をCだったら3を返すみたいな関数ってありますか?

291 :名無しさん@そうだ選挙にいこう:2020/03/02(月) 23:40:05.53 .net
>>289
あぁごめん、ちょっと間違って覚えてた
その認識で合ってるよ

少し言い訳すると、decimalは最終的に小数点も扱える
しかし、decimalは内部的に小数無しで計算している。
全部整数だけで計算して、後から小数点をポンと付ける感じ

Sub foo()
Dim a
a = 0.1 + 0.2
Debug.Print (a = 0.3) 'false

a = CDec(0.1 + 0.2)
Debug.Print (a = 0.3) 'true

End Sub

292 :名無しさん@そうだ選挙にいこう:2020/03/02(月) 23:41:12.11 .net
>>290
=CODE("A")
Aは65だから、
=CODE("A")-64
とでもすればAで1が返る

293 :名無しさん@そうだ選挙にいこう:2020/03/02(月) 23:50:21.03 .net
>>292
ごめんAは例なだけで実際は文字なんです。
ソートのために番号を振りたいのです。

294 :名無しさん@そうだ選挙にいこう:2020/03/02(月) 23:54:37.51 .net
>>293
=CODE("あいう")
でもいいぞ
取得する文字コードは一文字目だ

295 :名無しさん@そうだ選挙にいこう:2020/03/02(月) 23:59:56.65 .net
>>293
べつに番号を振らなくても、文字のままで大小の比較やソートはできるんだけど
もうちょっと何がやりたいのか詳しく

296 :名無しさん@そうだ選挙にいこう:2020/03/03(火) 00:06:32.00 .net
>>295
名称、種類という列があってPCパーツとします。
種類毎にカテゴリー表示してほしいのですが一番上はCPU2番目はメモリ3番目はマザーボードというように
自分で並び順のカテゴリーを決めたいです。

297 :名無しさん@そうだ選挙にいこう:2020/03/03(火) 01:12:03.04 .net
>>290
普通にif関数か、多いなら別表作ってvlookup関数などで表引きする。

298 :名無しさん@そうだ選挙にいこう:2020/03/03(火) 01:12:56.98 .net
>>296
それなら「ユーザー設定リスト」という便利な機能がある
任意の文字列を好きな順番に並べる
https://dekiru.net/article/15202/

299 :名無しさん@そうだ選挙にいこう:2020/03/03(火) 03:06:53 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel365
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

スピルの無効化についてです
帳簿を作っていてタブAに日付と金額のデータがあります
タブBに各月の最終日の日付とその月の合計データを計算したセルを自動で入力されるように=でセルを反映させようとしています
タブBの最終日を反映させたいセルの下にはそれぞれ空白があり入力してほしくないセルですがスピルが出てきて謎の日付が表示され金額についても同様です
また一度保存したあとスピルの入ったセル自体を消そうとすると消せなくなってしまいました
かなりイライラしているので分かりづらい文章で申し訳ありませんが解決策をご教示ください

300 :名無しさん@そうだ選挙にいこう:2020/03/03(火) 07:08:34 .net
>>299
ファイルをageて欲しい
再現しようと思ったらならんかった

301 :名無しさん@そうだ選挙にいこう:2020/03/03(火) 19:34:05.35 .net
>>299
数式の頭になんか記号付けたらスピル無効にならんかったっけ

302 :名無しさん@そうだ選挙にいこう:2020/03/04(水) 01:12:39.65 .net
参照元のタブを別のファイルに分けることでスピルが出てこなくなったのでとりあえずは解決できました

>>300
>>301
ファイルを出せずすみません
数式の前に記号のヒントもいただいたのでそちらも調べてみます
考えていただきありがとうございました

303 :名無しさん@そうだ選挙にいこう:2020/03/04(水) 17:27:24.94 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel365
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

下記URLで案内されているセルの最後に文字列挿入機能ですが
https://software.opensquare.net/relaxtools/archives/204/

Excel365にも同様の機能が用意されているでしょうか

304 :名無しさん@そうだ選挙にいこう:2020/03/04(水) 19:17:24.01 .net
重ためのエクセルをWin7 Celeron エクセル2010で使っていた。

今日始めて、同じファイルを Win10 i3 エクセル2016で使ってみた。

エクセル2016が2倍近く遅い。

305 :名無しさん@そうだ選挙にいこう:2020/03/04(水) 19:34:54.27 .net
>>303
365は常に最新じゃないのか?365のメリットってそれじゃないのか?

306 :名無しさん@そうだ選挙にいこう:2020/03/04(水) 20:35:59.69 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

「グーウウゲグルン」で検索してもGoogleが出てくるのは凄いと思うんですけど、
それをExce

307 :名無しさん@そうだ選挙にいこう:2020/03/04(水) 20:37:02.35 .net
それをExcel上で

308 :名無しさん@そうだ選挙にいこう:2020/03/04(水) 21:17:27 .net
androidのエクセルはいつバージョンからかコントロールキーを乗っ取ってしまうようになっていてGoogle日本語入力の変換ができない、従って別れを告げた

309 :名無しさん@そうだ選挙にいこう:2020/03/04(水) 21:26:58 .net
あれは機能がどうこう以前だよなあ。
PCでファイルを作るでしょ。
16:9で見るのを前提に。
それを縦長スマホで見ると狭くて見づらいの。

310 :名無しさん@そうだ選挙にいこう:2020/03/04(水) 22:30:40 .net
スマホ版は緊急用やろ
本気で使える代物じゃない

311 :名無しさん@そうだ選挙にいこう:2020/03/04(水) 23:42:50.00 .net
>>304
原因はエクセル
オフィスが2010から2013になった時にクッソ重くもっさりになった
オートシェイプの丸枠のデフォルトとか嫌がらせに近い

SSDにしてメモリ8G積めばそこそこマシにはなると思うよ

312 :名無しさん@そうだ選挙にいこう:2020/03/05(木) 02:55:58.87 .net
肥大化したファイルサイズを小さくする方法をご教授下さい。
Vlookup等でデータを引っ張りながら、昔から引き継いでいる100列×100行程度に人事情報等を管理しているファイルがあります。
シートを新しいエクセルファイルにコピーし、値化しても、範囲外のセルを削除しても、オブジェクトの選択で不要なオブジェクトを削除してもファイルサイズが2MBと非常に重たいままで困っています。
新しいエクセルファイルに値で貼り付けする方法もあるかと思いますが、出来れば元のファイルサイズを縮小化したいと思っています。
どなたかご教授いただければ幸いです。

313 :名無しさん@そうだ選挙にいこう:2020/03/05(木) 06:17:24.61 .net
オブジェクトが知らぬ間に増殖していた、に100ガバス。

314 :名無しさん@そうだ選挙にいこう:2020/03/05(木) 08:01:22.10 .net
>>312
拡張子は? シート数は?
ファイルみてみないと分からないと思います。

315 :名無しさん@そうだ選挙にいこう:2020/03/05(木) 09:54:09.01 .net
>>312
データ量が少ないのに、極端にファイルサイズが大きくなったという十数年前(Excel2000の頃)の例だと
最下行(当時は65535行か)に空白かなにかのゴミデータがあったというのがありました。

ワークシートの最後のセルを特定してリセットする で検索してみるといいかも。

316 :名無しさん@そうだ選挙にいこう:2020/03/05(木) 10:37:52.64 .net
条件付き書式やりまくっても重くなるな

317 :名無しさん@そうだ選挙にいこう:2020/03/05(木) 10:40:53.95 .net
フォントの種類や文字サイズをリセットしてみるとか

318 :名無しさん@そうだ選挙にいこう:2020/03/05(木) 12:32:03.19 .net
>>312
経験上シート移動だと直らない
新規作成したファイルにテーブルを値で貼り付けないと駄目だと思う

319 :名無しさん@そうだ選挙にいこう:2020/03/05(木) 15:13:20.90 .net
一旦csvに変換して、またExcelに変換する

320 :名無しさん@そうだ選挙にいこう:2020/03/05(木) 18:18:31.78 .net
教えてください。
デスクトップにあるブックのアイコンをダブルクリックして開くとき、私の環境(windows10-office2010)だと、
既に開いてるエクセルウィンドウがあればその中でブックが開かれます。
ネットで見たところこれは2007と2010までの動作であって、2013移行は毎回別のウィンドウ(別のエクセル)が起動し
その中でブックが開かれると見ました。

これは本当なのでしょうか?レジストリをいじって変更できるそうですが、デフォルトの動作としてこうなっていますか?
つまり2013移行の最新のオフィスなら、毎回別のウィンドウで開くと期待していいのでしょうか?

今、365等のエクセルで使用する、マクロ付きのブックを作っているのですが、この点が気になっています。

321 :名無しさん@そうだ選挙にいこう:2020/03/05(木) 18:58:27.98 .net
>>320
レジストリをいじるのは、昔のExcelでウィンドウを増やしたい時だけです
新しいExcelでウィンドウを減らす(まとめる)方法はありません

322 :名無しさん@そうだ選挙にいこう:2020/03/05(木) 21:31:45.66 .net
>>312
余計なセルほんとに消せてるか?Ctrl+Endで余計なとこまで行かんか?

323 :312:2020/03/05(木) 22:20:11.30 .net
皆様ご教授ありがとうございます。
>>312ですが
Ctrl+del等含めて色々試し、最終的には全ての行・列を削除し、書式・値等もクリアした真っ白のシートの状態で保存してもファイルサイズは変わらずでした…
当然隠れシートやリンクも確認し、ファイルの診断も実施済みです。
上で教えて頂いたとおり、新しいファイルに値で貼り付けるかCSV変換の方法しかないのかもしれません。

324 :名無しさん@そうだ選挙にいこう:2020/03/05(木) 22:51:56.93 .net
あとは履歴の削除ぐらいかな
これでだめならコピペだな

325 :名無しさん@そうだ選挙にいこう:2020/03/05(木) 22:57:26.41 .net
>>312>>323
いや、条件付き書式だろ

326 :名無しさん@そうだ選挙にいこう:2020/03/06(金) 05:38:42.91 .net
エクセル2007(12.0.6787.5000)SP3 MSO(12.0.6785.5000)
ウインドウズ10 Home

カーソルがピコピコ点滅してしまいます、欄外をクリックしたりすると直ったりもします。
頻発してしまうので改善方法ありませんか?

327 :名無しさん@そうだ選挙にいこう:2020/03/06(金) 05:55:49.61 .net
>>323
xlsxなら、拡張子をzipにして解凍。
どのファイルの容量が大きいか見るとか。

328 :名無しさん@そうだ選挙にいこう:2020/03/06(金) 19:31:33.85 .net
>>326
Excelだけで起こるのか?どういうタイミングでそうなる?

329 :名無しさん@そうだ選挙にいこう:2020/03/06(金) 20:03:29 .net
>>328
Excelだけです(ワードとパワーポイントは使ったことがない)
マウスをもっていってクリックすると結構な確率で

330 :名無しさん@そうだ選挙にいこう:2020/03/06(金) 20:51:19.67 .net
>>329
点滅するのはカーソルだけか

331 :名無しさん@そうだ選挙にいこう:2020/03/06(金) 21:02:47.59 .net
>>330
カーソルだけです
なので、方向キーだけで作業すれば問題はおきません

332 :名無しさん@そうだ選挙にいこう:2020/03/06(金) 21:26:29.16 .net
>>331
2007の修正パッチは全部当ててあるか

333 :名無しさん@そうだ選挙にいこう:2020/03/06(金) 21:56:35.57 .net
>>326
同じ症状ではないけど。
軌跡の設定でダメなら、レジストリを再作成してみては?

2007の環境を用意できないので、なんとも。

334 :名無しさん@そうだ選挙にいこう:2020/03/06(金) 21:57:07.65 .net
書き忘れ。こちら。
ttps://www.vwnet.jp/Windows/w10/2017062401/HiddenMouseCursor.htm

335 :名無しさん@そうだ選挙にいこう:2020/03/07(土) 08:37:25.51 .net
win7 excel14

複数ページを含むシートで設定した改ページに合わせて、余白まで目一杯、均等に使うように行の高さを大きくする方法はありませんか。
そういうコマンドが見つからなかったので、ページレイアウトと改ページプレビューを行き来しながら
対象となる行の範囲を選択して行の高さを大きめに指定しておいて改ページの青線を移動、としたら、
・ページレイアウトで、入力した数値の1/2になる(2倍を入れましたが)
・フォントが小さくなる 再指定しても大きくならない
・紙幅的には平気なはずなのに「選択した列幅はページ幅を超えています」
でうまくいきません。

336 :名無しさん@そうだ選挙にいこう:2020/03/07(土) 09:33:02 .net
>>332
>>333
遅くなりました、今帰宅です、これから見てみます

337 :名無しさん@そうだ選挙にいこう:2020/03/07(土) 10:34:24.16 .net
>>332
どのパッチが当たっているか、どのパッチが最終か?の確認方法がわかりません

>>333
症状がだいぶ違う気がします
軌跡の設定はオフになっています

338 :名無しさん@そうだ選挙にいこう:2020/03/07(土) 13:53:49 .net
>>337
マイクロソフトのサイトで適当に検索して自分で調べてくれ
ついでにWin10のアプデも最新かどうか

339 :名無しさん@そうだ選挙にいこう:2020/03/07(土) 14:37:52 .net
家でExcelを利用して、添付画像のような服用・残薬記録を作っています
服用記録には飲んだ時間を残薬記録には残り錠数や本数を入力しています
これら二つの表を組み合わせて、服用時間を入力すると、残薬表から決まった錠数が減るようにするためには
どのような関数を用いればよいでしょうか?

OS:windows10
Excel2007
VBAは使えません
VBAでの回答は可能

https://dotup.org/uploda/dotup.org2081489.jpg

340 :名無しさん@そうだ選挙にいこう:2020/03/07(土) 14:59:14.39 .net
>>339
残薬記録に1回に飲む量の列を追加
服用記録の各薬の時間が入力してあるセルの個数×1回の量を在庫数から引く

341 :名無しさん@そうだ選挙にいこう:2020/03/07(土) 15:30:09.17 .net
>>338
検索下手な私ではお手上げです
ウインドウズ10は最新

342 :名無しさん@そうだ選挙にいこう:2020/03/07(土) 16:01:18.88 .net
>>339
まず単位を直打ちではなくて、表示形式で表示できるようにする。
あとはsumif関数なりcountif関数なりで計算できる。

343 :名無しさん@そうだ選挙にいこう:2020/03/07(土) 21:31:51.45 .net
>>339
当方、Windows10+Excel2010です。
1日分の表がどのように続くのかがわからなかったので、縦方向に並んでいるものとして作ってみました。
https://dotup.org/uploda/dotup.org2081778.png
途中で服用する薬の種類が異なっても対応できるようになっています。
(B8の薬とB15、B22の薬が異なることに注目)
1日あたり必要な行数は対象者によって異なると思いますが、増減もできます。
=SUMPRODUCT((Sheet1!$B$2:$B$22=$B2)*(Sheet1!C$2:C$22>0))
の、$B$2:$B$22は列名に$あり、C$2:C$22には$なしは意味があります。
集計シートのC2セルに計算式を入力し、これを必要な範囲に複写するだけでいいようにするためです。
Sheet1の表を拡張(日数を増やす)する場合は、上記計算式の $B$22 と C$22 の行の数字を
増やすだけです。(必ず同じ数字にすること)
集計シートのC、D、Eの各列は件数の集計なので、1回あたり服用する数量を乗じて実際の数量を
算出してください。

344 :名無しさん@そうだ選挙にいこう:2020/03/08(日) 13:30:52.90 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
Worksheet_BeforeRightClickイベントでThisWorkbook.Closeを使い、このブックを閉じる処理を行ったところ
ブックは閉じるのですが、閉じた後に新しいブックが勝手に立ち上がります。
Application.Quitだと問題なく閉じるのですが、すべてのブックが閉じてしまいます。
対処方法はないでしょうか?

345 :名無しさん@そうだ選挙にいこう:2020/03/08(日) 14:16:32 .net
>>344
beforecloseで何かやってんの

346 :名無しさん@そうだ選挙にいこう:2020/03/08(日) 14:52:52.60 .net
>>344
2019で試しにやってみたら挙動がおかしくなった
一回目は動いたんだけど、2回目からはマクロが動かない。再起動したら一回目に戻る
恐らく内部的に
・右クリック
・コンテキストメニューの出現
はセットになっているけど、そこに割り込んだからおかしくなってる・・・ような気がする
個人的にこのコードは避けた方がいいかな、とは思う

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
ThisWorkbook.Close
End Sub

347 :名無しさん@そうだ選挙にいこう:2020/03/08(日) 15:13:13.88 .net
>>345
何もやっていませんね
>>346
SelectionChangeイベントでも再現し、原因がわからない状態でネットで色々調べてみたのですが、
関連する記事はなく途方に暮れておりました。

別の方法考えるしかないみたいですね…

348 :名無しさん@そうだ選挙にいこう:2020/03/08(日) 15:19:53.88 .net
>>347
イベント内ではなく普通のプロシージャ内でThisWorkbook.Closeするといけるんじゃないか
けど自分を閉じる処理はできるだけ避けた方がいい

349 :名無しさん@そうだ選挙にいこう:2020/03/08(日) 15:23:37.81 .net
>>340.342
ありがとうございます
>>343
ありがとうございます!すごくわかりやすいです
真似してみます。

350 :名無しさん@そうだ選挙にいこう:2020/03/08(日) 15:26:19.67 .net
>自分を閉じる処理はできるだけ避けた方がいい
これには同意
昔のExcelはいいんだけど、今は閉じた後もずっとバックヅラウンドで残っているから色々と変になりやすいと思う

351 :名無しさん@そうだ選挙にいこう:2020/03/08(日) 18:03:00 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2019

最近のアップデートなのか、
いつのまにかExcelのウィンドウバーのファイル名がクリックできるようになってたのですが
これオフにすることできますか?

352 :名無しさん@そうだ選挙にいこう:2020/03/08(日) 20:58:18.20 .net
ヅラ

353 :名無しさん@そうだ選挙にいこう:2020/03/08(日) 22:30:47 .net
>>351
ウィンドウバーってどの部分?

タイトルバーの事?それなら俺の環境ではクリクできない
https://soft1.jp/trouble/o/o058.html

354 :名無しさん@そうだ選挙にいこう:2020/03/08(日) 23:19:11 .net
indirectでシート参照をセルから指定する場合、指定シート名に記号を含んでいてシングルコーテーションをつけない状態だとエラーになるので、基本は"'"で囲む、ということ自体は暗記したのですが、なぜ記号だとこのエラーが出るんでしょうか?
記号は文字列ではないからならば、シングルコーテーションではなくてダブルコーテーションなのでは?などとメカニズムを理解できていません。
暗記すれば済む話ですがもし理由説明できる方いたらご教示いただけませんか。

355 :名無しさん@そうだ選挙にいこう:2020/03/08(日) 23:36:50.74 .net
囲まなきゃいけないのはExcelで意味を持つ記号だけじゃなかったか

356 :名無しさん@そうだ選挙にいこう:2020/03/08(日) 23:38:54.59 .net
>>354
知ってるやつはいないと思うし、考えるのは時間の無駄だが・・・

まずシート名に半角スペースや記号が使える。この状態だと何かで囲む必要がある
※半角スペースも演算子

セルの内容が
="
で始まる場合その部分は文字列とでも定義しているのだろう
なのでシングルコーテーションでも使ってシート名と定義しているんじゃないかね

この理屈に反論しても無意味だぞ、今適当に考えただけだから
後は自分で考えよう。

考えても意味の無いことだと結論が出れば合格だ

357 :名無しさん@そうだ選挙にいこう:2020/03/08(日) 23:40:50.25 .net
アンダーバーは記号というかアルファベットに近いな

358 :名無しさん@そうだ選挙にいこう:2020/03/09(月) 01:48:30.66 .net
>>353
そうですタイトルバーでした。
あのクリックって消す事できないんですね・・・ウィンドウを移動するときにタイトルバーをドラッグするんで
いちいちクリックされるのがめんどうなんですよね

359 :名無しさん@そうだ選挙にいこう:2020/03/09(月) 05:23:24.87 .net
>>358
そんな症状は聞いたことがない
何か変なアプリ入れただろ

360 :名無しさん@そうだ選挙にいこう:2020/03/09(月) 07:13:49.75 .net
365使ってるけどどっかのアップデートからブック名クリックできるようになってるよ
OneDrive使ったバージョン管理やらせたいみたいね
非表示にはできないから避けるしかない

361 :名無しさん@そうだ選挙にいこう:2020/03/09(月) 10:07:01.22 .net
365、Mac、android、iOS、ブラウザ版の新機能らしい
オフライン版は非対応

362 :名無しさん@そうだ選挙にいこう:2020/03/09(月) 11:15:28.98 .net
新規ブックで未保存の場合はクリックできないとか、一応マトモにはできてるな
頼まれても使わんけどw

>>358
何も表示されてない部分をドラッグすれば問題なし
もしかして、タイトルバーの中央でないとドラッグできないとか思ってる?

363 :名無しさん@そうだ選挙にいこう:2020/03/09(月) 16:42:59.18 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel16
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

グラフの範囲を2つの入力されたセルの文字列間の間に設定することは可能でしょうか?
たとえば、A列にロットナンバー、B列に製造量とした場合、適当なセル(C1とかD1)にロットナンバーを入力し
C1とD1のロット間のグラフを作成するなどです。

グラフではなく、普通の計算処理(例えば平均や最大)などはMatch関数でできるのですが
グラフの範囲だとどうもうまくいきません。
計算用に一時的に特定のセルに出力は可能です。

どなたかご教示をお願いいたします。

364 :名無しさん@そうだ選挙にいこう:2020/03/09(月) 20:55:43.55 .net
>>358
俺もなったわ
誤クリでイラッとさせられるなこれ

365 :名無しさん@そうだ選挙にいこう:2020/03/10(火) 01:40:21.78 .net
【1 OSの種類        .】 Windows10
【2 Excelのバージョン  .】 Office365
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否 .】 否

以下の関数をつかった検索・抽出でこのような作業は可能かわかる方おりましたら
ご教示いただけますでしょうか?
検索し、複数条件抽出などでみてみましたが知識が乏しく適切な回答が
みつけられず質問させていただいた次第です。
 
 ・ ある品名がデーターシートのa行へ記載
 ・ 同じ品名に対応する仕入れ先がb行へ記載 
 
これを出力シートのa行へ重複を削除して表記し
対応する複数の仕入れ先をb行の1セル内に表記をする(仕入れ先が複数の場合は、仕入れ先と仕入れ先の間に/で区切りをいれ、表示する

 データーシート
A1 : 洗濯機 B1 :XXXX商事
A2 : 洗濯機 B2 :YYYYコーポレーション
A3 : 洗濯機 B3 :XXXX商事
A4 : 冷蔵庫 B4 株式会社XXXX
A5 : 冷蔵庫 B5 :ZZZZ会社

  出力シート
A1:洗濯機 B1 :”XXXX商事/YYYYコーポレーション*
A2:冷蔵庫 B2 ; “株式会社XXXX/ZZZZ会社”

なんとかお願い致します。

366 :名無しさん@そうだ選挙にいこう:2020/03/10(火) 05:26:34.35 .net
>>365
A1 =UNIQUE(データーシート!$A$1:$A$5)

B1 =TEXTJOIN("/",TRUE,UNIQUE(FILTER(データーシート!$B$1:$B$5,データーシート!$A$1:$A$5=A1)))
 ・
 ・

367 :名無しさん@そうだ選挙にいこう:2020/03/11(水) 18:39:02.15 .net
無職期間中にExcelをおさらいしておこうと思い勉強中で、よく分かるマスターのMOSExcel問題集を一通り終えました。
もう少しレベルアップして他の関数やピポットテーブル等も学びたいのですが、おすすめのテキストがあれば教えて下さい。
できれば実務に近い例題等があるものがいいのですが…。

368 :名無しさん@そうだ選挙にいこう:2020/03/11(水) 19:03:32.99 .net
>>367
オフィス田中っていうサイトでSUMPRODUCT覚えると良いよ

369 :名無しさん@そうだ選挙にいこう:2020/03/11(水) 19:24:45.34 .net
>SUMPRODUCT
ネットでドヤ顔したりマウント取ったりするための関数

370 :名無しさん@そうだ選挙にいこう:2020/03/11(水) 19:43:44.59 .net
たまには役に立つ

371 :名無しさん@そうだ選挙にいこう:2020/03/11(水) 19:50:53.56 .net
おじちゃん、SUMプロダクトなんて難しいこと言われてもわかんねぇから、
エスキューLでいいよぉー。

372 :名無しさん@そうだ選挙にいこう:2020/03/11(水) 19:57:07.76 .net
特定の関数持ち上げる人は頭が固い

373 :名無しさん@そうだ選挙にいこう:2020/03/11(水) 20:27:03 .net
条件付き書式でAND・INDIRECT・ADDRESS・ROW・COLUMNが併用できないのは何故?
掛け算で代用すればいいってのは何となくわかるけど。
一体何が返ってきてるんだ?

374 :名無しさん@そうだ選挙にいこう:2020/03/11(水) 20:42:05 .net
↑やっぱ掛け算で代用できる理由もわかんないわ。

Int(True And True) = -1
Int(True * True) = 1
Int(WorksheetFunction.And(True, True)) = -1

掛け算だとTrueにならん。

375 :名無しさん@そうだ選挙にいこう:2020/03/11(水) 20:53:53 .net
>>374
マイナス同士の掛け算はプラスって小学生レベルだぞ…

376 :名無しさん@そうだ選挙にいこう:2020/03/11(水) 20:57:09 .net
>>373>>374
ExcelのTRUEは数値にすると1
VBAのtrueは数値にすると-1

Sub foo()
Debug.Print Int(True + 3) '2になる
End Sub

確かVBAの方は16進数でFF、11111111になるはず
こっちの方が正しいとかなんとか

377 :名無しさん@そうだ選挙にいこう:2020/03/11(水) 21:15:30 .net
>>375
それはわかってる。
何で結果が違うのに代用できるのかってことなんだけど。

378 :名無しさん@そうだ選挙にいこう:2020/03/11(水) 21:18:20 .net
>>376
マジか!
Excelも-1だと思ってたわ。

379 :名無しさん@そうだ選挙にいこう:2020/03/11(水) 21:23:42 .net
でも条件付き書式の謎は残るわ。

INDIRECT・ADDRESS・ROW・COLUMN併用 True
INDIRECT・ADDRESS・ROW・COLUMN併用で掛け算 True
AND(普通にセル指定,普通にセル指定) True
AND・INDIRECT・ADDRESS・ROW・COLUMN併用 Trueではない何か

380 :名無しさん@そうだ選挙にいこう:2020/03/11(水) 21:39:24 .net
VBAで言うと、Falseと"False"があるのも謎。
プロシージャ外DimとPrivateが同じってのも。

381 :名無しさん@そうだ選挙にいこう:2020/03/11(水) 22:20:05.51 .net
>>380
上はString型に入れる時用やろ
PrivateはPrivate Dimが省略されてるだけや

382 :名無しさん@そうだ選挙にいこう:2020/03/11(水) 23:05:33.89 .net
ATAN2    何を言っているのかわからない関数
SUBSTIUTE SUBSTIUTEって言いたいだけの関数
CheckMatrix ヘルプがありませんって何やねん。

383 :名無しさん@そうだ選挙にいこう:2020/03/11(水) 23:08:04.37 .net
CheckMatrixって自分で作った関数だった。俺アホだ・・。

384 :名無しさん@そうだ選挙にいこう:2020/03/12(木) 19:09:55.00 .net
質問なんですが、トグルボタンの外観だけ隠すことってできますか?

385 :名無しさん@そうだ選挙にいこう:2020/03/12(木) 19:14:45.10 .net
>>384
VBA用のコントロールは色々なプロパティが変更できなくしてある
小さいテキストボックスでも貼り付けて隠しておけ

386 :名無しさん@そうだ選挙にいこう:2020/03/12(木) 19:40:09.87 .net
>>384
非表示にするのとは違うのか

387 :名無しさん@そうだ選挙にいこう:2020/03/12(木) 21:56:37.61 .net
>>373
どういう数式でエラーが起こるのか
何がしたいのか

教えてほしい

388 :名無しさん@そうだ選挙にいこう:2020/03/12(木) 23:35:50.96 .net
>>387
=AND(INDIRECT(ADDRESS(ROW()+1,COLUMN()))=INDIRECT(ADDRESS(ROW(),COLUMN())),INDIRECT(ADDRESS(ROW()+1,COLUMN()+1))<>INDIRECT(ADDRESS(ROW(),COLUMN()+1)))

単純に上下の差異を見るだけ。
ある列の上下が同じかつ別の列の上下が違うなら書式変更っていう。

これ自体は、掛け算を代用して解決したから良いんだけど、
理屈がわからないのがモヤってる。

389 :名無しさん@そうだ選挙にいこう:2020/03/12(木) 23:57:29.52 .net
話は逸れるが単純にセル参照じゃいかんのか

390 :名無しさん@そうだ選挙にいこう:2020/03/12(木) 23:58:28.84 .net
>>388
確かにうまく動いてない気がする

条件は
・そのセルと下のセルが同じ
・右下と右が違う
と思うけど記述は間違ってないと思う

391 :名無しさん@そうだ選挙にいこう:2020/03/13(金) 11:10:21.96 .net
>>388
ANDの引数の片方をTrue にしてもうまく動かないね
対象セルの隣で列数を補正して同じ数式を入力しても期待通りになったから、記述は間違ってないはず

公表されてる文字数とかネスト数の制限には遠く及ばないけど
ROW COLUMN INDIRECT の様な、負荷の大きそうな関数をネストして使ってるから
そのあたりが条件付書式に使える限界なんだと思うぞ

392 :名無しさん@そうだ選挙にいこう:2020/03/13(金) 11:53:58.30 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel365
【3 VBAが使えるか    .】 はい(勉強中)
【4 VBAでの回答の可否】 可
各月毎のシートを12ヶ月分(名前、売上、手数料、支払額でテーブル)を作っています。
月別で人数が変化するのでピボットで名前(行)だけのテーブルにしてvlookupで名前参照から各月毎のデータを取得して
1年間の月別のデータを作っています。
   売上      手数料
名前 1月 〜 12月 1月〜12月
みたいな感じでやっています。
この場合名前が増えた場合自動でvlookupを追加したい場合はvbaでピボットテーブルの行数分vlookup関数をコピーさせるのがよいでしょうか?
自分だけで使うならそれでいいのですが入力する人は月毎のシートのみいじる形にしたいので良いアイデアがあれば教えてください。
   売上      手数料
名前 1月 〜 12月 1月〜12月
新規 上の行コピー

393 :名無しさん@そうだ選挙にいこう:2020/03/13(金) 12:39:54 .net
>>388
説明はできないけどROWが配列になっちゃってて、INDIRECTに@をつけると直る

394 :名無しさん@そうだ選挙にいこう:2020/03/13(金) 13:08:44 .net
>>382-383
笑い事じゃないな
このレベルで批判してるやつ多い

395 :名無しさん@そうだ選挙にいこう:2020/03/13(金) 14:07:29.32 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2019
【3 VBAが使えるか    .】 触り程度
【4 VBAでの回答の可否】 自信無し…

Aに入力した数字がBの金額と掛け合わされてCに表示させる物を作りたいのですが可能でしょうか?

Aに販売した商品の個数、Bに金額、Cに売り上げみたいな感じです。
宜しくお願いします。

396 :名無しさん@そうだ選挙にいこう:2020/03/13(金) 14:16:41.76 .net
自己解決しました。すみません。

397 :名無しさん@そうだ選挙にいこう:2020/03/14(土) 10:55:17.76 .net
390,391,393
(レスアンカーがおかしいって言われるので数字のみ)

色々ありがとう。
@はわからなかったけど(入れても消える)、Nでも出来た。

=AND(N(INDIRECT(ADDRESS(ROW()+1,COLUMN())))=N(INDIRECT(ADDRESS(ROW(),COLUMN()))),N(INDIRECT(ADDRESS(ROW()+1,COLUMN()+1)))<>N(INDIRECT(ADDRESS(ROW(),COLUMN()+1))))

398 :名無しさん@そうだ選挙にいこう:2020/03/14(土) 11:06:55.69 .net
>>389
いけなくはないけど、セル位置がA1なのかR52なのかAX24なのか考えなくていいのが好き。

399 :名無しさん@そうだ選挙にいこう:2020/03/14(土) 13:39:36 .net
INDIRECT("R[1]C[0]",)

400 :名無しさん@そうだ選挙にいこう:2020/03/14(土) 14:46:05 .net
>>398
セル参照でも特に考えなくていい気がするが…

401 :名無しさん@そうだ選挙にいこう:2020/03/14(土) 19:39:38 .net
こんな感じで、たまに計算式を壊すやつが出てくる、メンテナンスが物凄く面倒な表の管理を任されて、
IFとかINDIRECT使って、全部のセルを同じ計算式にしたことあるわ。
誰かが壊してもすぐ直せるから。

  1月 前月比 2月 前月比 ・・・ 上期 7月 前月比 ・・・ 下期 ・・・ 平均 合計
A
B
C
小計
D
E
小計
 :
合計

402 :名無しさん@そうだ選挙にいこう:2020/03/14(土) 20:04:05 .net
>>392
月ごとにシートを分けないで、月の列を1列増やして、1つのシートにする
何をやりたいか、いまいち見えてこないけど
多分、vlookupなんて使わないで、ピボットテーブルの機能だけで出来るような気がする

403 :名無しさん@そうだ選挙にいこう:2020/03/14(土) 20:32:15.11 .net
>>401
シート保護すりゃいいだけじゃん

404 :名無しさん@そうだ選挙にいこう:2020/03/14(土) 20:57:37.97 .net
間に小計入る式嫌い

手作業でsum選ばないとだし
Sumifで別の場所に小計作る方が好き

405 :名無しさん@そうだ選挙にいこう:2020/03/14(土) 21:31:05.78 .net
>>403
固定ならね。
行の増減があるし、列も、突然前年比も入れようとか言われるし。

406 :名無しさん@そうだ選挙にいこう:2020/03/14(土) 21:43:15.46 .net
>>405
メンテの時は保護外すもんだぞ

407 :名無しさん@そうだ選挙にいこう:2020/03/15(日) 00:36:36.74 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel365
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

A1に特定の文字"削除"と入れた時に、B1とC1の文字列が赤くなるようにしたい。
一行だけなら条件付き書式で出来ましたが、
A列に特定の文字"削除"を入れた時に、その当該行のC列とE列を赤くしたい場合は
どうすればできますか?

408 :名無しさん@そうだ選挙にいこう:2020/03/15(日) 01:06:58.13 .net
【1 OSの種類         .】 Windows 10
【2 Excelのバージョン   】 Excel 2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

資格試験の問題集を何度も解くつもりで、その際の情報を科目ごとに集計したいのです。
1科目につき1シートで記録し、A列から順にA日付、B問題番号(文字列)、C成否(〇か×にしてます)、D間違えの理由(自由記載)
としています。
同じシートの右側に各問題ごとの集計表を作ってます。F〜J列に、F問題番号、G訓練回数、H正答数、I正答率、J最終訓練日を表示させたいのですが、
最終訓練日を出すことが出来ません。
=DMAX(A:D,A1,BB=F5)などと入力してエラー出て困ってます。わかる方いらっしゃいましたらお願いします。

409 :名無しさん@そうだ選挙にいこう:2020/03/15(日) 01:10:54.78 .net
>>406
パスワード入れとけばヴァカは弄れないよな

410 :407:2020/03/15(日) 01:31:46.67 .net
すみません自己解決しました

411 :名無しさん@そうだ選挙にいこう:2020/03/15(日) 01:35:39.38 .net
>>408
F列に問題番号が固定で入っているとして
J1=MAXIFS(A:A,B:B,F1)で良いんじゃないか

412 :名無しさん@そうだ選挙にいこう:2020/03/15(日) 09:11:49 .net
>>408
老婆心ながら余計なこというけど、
正当率とか忘却曲線とか余計なことかんがえてる間に
問題集進めたほうがいいと思うやで

そういうのは裏で自動的にやってくれるアプリに任せたほうがええ
時間かけて自分で手作業でエクセルでやるもんじゃないよw

413 :名無しさん@そうだ選挙にいこう:2020/03/15(日) 18:21:01.01 .net
ピボットテーブル初心者なのですが、リレーションシップを使いたいのに、データタブ下にリレーションシップのボタンが出て来ません(><)
本の説明では統合ボタンの下に出ているはずなのですが、表示されていません
リボン内の表示の設定が違うのでしょうか
わかる方ぜひお願いいたします

414 :名無しさん@そうだ選挙にいこう:2020/03/15(日) 18:21:23.80 .net
office365です!

415 :名無しさん@そうだ選挙にいこう:2020/03/15(日) 19:20:20.93 .net
これ?
ttps://dotup.org/uploda/dotup.org2088252.gif

416 :名無しさん@そうだ選挙にいこう:2020/03/15(日) 19:29:30.11 .net
>>415
そう、それです!
ひとつひとつのアイコンが大きくてそのひとつ上の統合までしか表示されないんです。
Macなんですが関係ないですよね

417 :名無しさん@そうだ選挙にいこう:2020/03/15(日) 19:32:07.91 .net
リボンのユーザー設定で左側の全てのタブの中にもリレーションシップがなくて、このエクセルの中にそもそもリレーションシップが搭載されていないのか、も調べても出てこなくて途方に暮れています

418 :416:2020/03/15(日) 20:02:36.38 .net
どうやら2016 for Macではリレーションシップは使えないようです 泣
415さんありがとうございました
お騒がせしました

419 :名無しさん@そうだ選挙にいこう:2020/03/15(日) 20:46:02.55 .net
office365じゃなかったのか

420 :名無しさん@そうだ選挙にいこう:2020/03/15(日) 20:48:15.41 .net
最新のoffice365=2016(2019?)みたいです

421 :名無しさん@そうだ選挙にいこう:2020/03/15(日) 20:52:11.93 .net
office365と2019は少し違うよ

422 :名無しさん@そうだ選挙にいこう:2020/03/15(日) 21:06:12.25 .net
office365はMacもWindowsと同等の機能を使えるみたいですね…
どうしてリボン表示が違うのか…

423 :名無しさん@そうだ選挙にいこう:2020/03/15(日) 21:42:39.23 .net
office365はどのバージョンよりも最先端だぞ

424 :名無しさん@そうだ選挙にいこう:2020/03/15(日) 21:43:24.41 .net
ウィンドウサイズのせいで表示しきれてなくて▼の中に隠れてるオチは

425 :名無しさん@そうだ選挙にいこう:2020/03/15(日) 22:24:10.69 .net
あーどうやら365ではこの機能そのものが何か別の名前のものになってるっぽいです…

426 :名無しさん@そうだ選挙にいこう:2020/03/16(月) 12:49:26.92 .net
365が最新バージョンなのだろうが、2016(or2019)との互換性で困ったことはない?新しい関数が使えないのは当然として。

427 :名無しさん@そうだ選挙にいこう:2020/03/16(月) 15:21:46.57 .net
https://soratobu-kabuyu.com/ana/
こんな感じで、各サイトの価格をリアルタイムに取得したいです
クリックしたらサイトに飛べるようにするには「ハイパーリンク」を使えば出来るようになりました
因みに、エクセルじゃなくてもそういうことができるソフトが他にあれば大丈夫です
どうやるのですか?教えて下さい。

【1 OSの種類】 Windows10
【2 Excelのバージョン】 Excel2019
【3 VBAが使えるか】いいえ
【4 VBAでの回答の可否】否

428 :名無しさん@そうだ選挙にいこう:2020/03/16(月) 18:55:43 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2019
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

い1 ろ1 は1 い2 ろ2 は2 い3...

と連続しているデータがあり、[は]が"--"の時だけ[い]と[ろ]を着色したくて
以下のように条件付き書式をかけましたが上手くいきませんでした

 =OR(AND(MOD(COLUMN(),3)=1,OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),0,2)="--"),AND(MOD(COLUMN(),3)=2,OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),0,1)="--"))

そこでAND()の中身を個別に設定してみました。

[い]に着色成功: =MOD(COLUMN(),3)=1
[い]に着色成功: =OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),0,2)="--"
[い]に着色失敗: =AND(MOD(COLUMN(),3)=1,OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),0,2)="--")

[ろ]に着色成功: =MOD(COLUMN(),3)=2
[ろ]に着色成功: =OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),0,1)="--"
[ろ]に着色失敗: =AND(MOD(COLUMN(),3)=2,OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),0,1)="--")

また、いずれの条件も、[い]や[ろ]のセルに直接入力して確認するとTRUEになります。
式は間違っていないはずなんですが、AND()に入れて条件付き書式の条件にしてやると上手くいきません
まとめて設定したいので、着色成功している設定を列ごとに入れてやる方法はとりたくありません

どこが間違っているのか、どなたかお分かりになりますか?

429 :名無しさん@そうだ選挙にいこう:2020/03/16(月) 19:28:55.21 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

表1
氏名 性別
表2
氏名 数字
表3
性別 数字の集計

1, 表3で表2の数字を集計したい
2, このとき、表1で男となっている氏名のみ対象にする

IFやSUMIFを使ってみましたが、条件の指定が上手く行かず分からなくなりました

430 :名無しさん@そうだ選挙にいこう:2020/03/16(月) 20:22:04.40 .net
>>429
表1または表2に作業列を追加するのはだめですか?
作業列ができさえすれば、性別と数値がひとつのシートに表示される状態となるので、あとは簡単に集計できると思います。

431 :名無しさん@そうだ選挙にいこう:2020/03/16(月) 21:04:50.69 .net
作業列追加できるなら表2不要で表1に数字列入れればいいだけじゃん
わざわざ分けてるってことはそれが出来ないんじゃないのか

432 :名無しさん@そうだ選挙にいこう:2020/03/16(月) 21:30:19.45 .net
>>428
上でも出てたけど、その辺りのセル指定系の関数を入れ子にするとバグるっぽい
別の方法考えてみて

433 :名無しさん@そうだ選挙にいこう:2020/03/17(火) 01:11:25 .net
>>411
ありがとうございます。入力してみます。

>>412
老婆心ありがとうございます。その通りだと思います。。。
頑張ってる感出さないと潰れそうな気がして、逃避してましたね。
せっかく教わった知識は教養として記録しといて、勉強します

434 :名無しさん@そうだ選挙にいこう:2020/03/17(火) 14:59:35.41 .net
>>430
お返事ありがとうございます
>>429の表は、本当はもっと大量のデータが存在する複雑なもので、列を追加せずに済めば良いと思っています

435 :名無しさん@そうだ選挙にいこう:2020/03/17(火) 16:06:03.17 .net
>>429
シート分けるのが面倒なので一つのシートで組んだ例
表1-A1:B30  表2-D1:E10 A51-"男" の場合、
=SUM(($A$2:$A$30=TRANSPOSE($D$2:$D$10))*($B$2:$B$30=$A51)*TRANSPOSE($E$2:$E$10))
配列数式なのでCtrl+Shift+Enter
で多分いけると思う

でも、計算量が馬鹿でかくなるから、表が大きくなった場合に実用速度におさまるかは知らない
名前の重複がNGなのもあって、可能なら、表1と表2の名前の並びは共通にした方がいいと思う

436 :名無しさん@そうだ選挙にいこう:2020/03/17(火) 19:34:31.44 .net
>>434
ExcelではなくAccess向き

437 :名無しさん@そうだ選挙にいこう:2020/03/17(火) 23:30:05.77 .net
>>423
xmatchとかってもう使えるんだっけ?

438 :名無しさん@そうだ選挙にいこう:2020/03/18(水) 12:52:36 .net
Office365が インサイダーチャンネル

LETの発表
https://techcommunity.microsoft.com/t5/excel-blog/announcing-let/ba-p/1233572

数式内で同じ式を複数回繰り返す必要があったり、メガ数式を作成したり、
数式の一部を再利用して消費しやすくしたいと思ったことはありませんか?
LET機能の追加により、次のことが可能になりました!

439 :名無しさん@そうだ選挙にいこう:2020/03/18(水) 17:24:06 .net
ローカル変数が使えるようになるのは有り難い

440 :名無しさん@そうだ選挙にいこう:2020/03/18(水) 21:08:57.69 .net
>>438
あと10年ぐらい早く実装してほしかったなぁ
もう今やメガ数式だらけだろう・・・

441 :名無しさん@そうだ選挙にいこう:2020/03/18(水) 22:07:43.84 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

勤務時間の入力についての質問です
交代制のパートさんが6人いる中で、夜勤の際の各勤務時間を、出勤人数が3人以上の日は5時間、2人以下の日は8時間と表示したいのですが、時間の欄はどのように式を入力したらいいでしょうか?
表は以下のようにしたいと思っています
    1日   2日
1名前  夜   昼
     8h   8h
2名前  朝   夜
     8h   5h
3名前  昼   夜
     8h   5h 
4名前  昼   夜
     8h   5h
5名前  夜   朝
     8h   8h
6名前  昼   昼
     8h   8h
ややこしいですが教えて頂けると幸いですm(__)m

442 :名無しさん@そうだ選挙にいこう:2020/03/18(水) 22:51:37 .net
>>441
どこか、一番上か一番下の行に、その日の夜の人数を入れるわけにはいかない?
=COUNTIF(B2:B999,"夜")
みたいな式で数えられるんだけど、それができないとめちゃくちゃ面倒になると思うんだわ

443 :名無しさん@そうだ選挙にいこう:2020/03/18(水) 22:56:42 .net
>>441
パートさんは全部で何人?

444 :名無しさん@そうだ選挙にいこう:2020/03/18(水) 22:59:36 .net
6名固定ならそんなに難しくないような。
「夜」「昼」以外が入ることがあるのかが問題。例えば「休」とか。

445 :名無しさん@そうだ選挙にいこう:2020/03/18(水) 23:25:16 .net
>>444
夜だけ数えればいいんだから、その他は何が入ってても関係ないよ

446 :名無しさん@そうだ選挙にいこう:2020/03/18(水) 23:29:00 .net
6人固定バージョンを作ってみた
この表の1行目=日付、2〜3行目が一人目、A列が名前、B列が1日になってるとして
B3=IF(AND(B2="夜",SUM(B$2="夜",B$4="夜",B$6="夜",B$8="夜",B$10="夜",B$12="夜")>=3),"5h","8h")
あとはコピペ

447 :名無しさん@そうだ選挙にいこう:2020/03/18(水) 23:44:29 .net
レスありがとうございます!
パート従業員は6名固定で、休が入ることもあります
>>446さんが式を載せてくださったので、これでやってみようと思います!またわからないことがあったら質問させてもらうと思うので、その際はよろしくお願いいたしますm(__)m

448 :名無しさん@そうだ選挙にいこう:2020/03/19(Thu) 00:25:14 .net
442さんが言ってるように、1列目を作業列にしてcountif関数入れるのがスマートっぽい。

449 :名無しさん@そうだ選挙にいこう:2020/03/19(木) 01:12:53.99 .net
>>444
サンプルには朝も入ってる

450 :名無しさん@そうだ選挙にいこう:2020/03/19(木) 06:16:29.44 .net
>>448
そう思うけど、それだと循環参照になるから、朝昼夜と時間で列を分けるといいね

451 :名無しさん@そうだ選挙にいこう:2020/03/19(木) 09:53:26.94 .net
作業列にSUM(B$2="夜",B$4="夜"以下略を入れれば数式がすっきりするけど、そんなに計算コストは考えなくてよさそう

452 :名無しさん@そうだ選挙にいこう:2020/03/19(木) 18:56:19.31 .net
>>432
すみませんスレ読んでませんでした
解決法もあるっぽいので上から読み直してきます

453 :名無しさん@そうだ選挙にいこう:2020/03/20(金) 11:08:45.28 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

16384列も要らないんですけど、10列くらいに出来ませんでしょうか。
テーブル化するとか、印刷範囲や表示固定で誤魔化すのはなしで。

454 :名無しさん@そうだ選挙にいこう:2020/03/20(金) 11:18:02.43 .net
>>453
出来ません

455 :名無しさん@そうだ選挙にいこう:2020/03/20(金) 11:36:26.32 .net
>>453
非表示で誤魔化す
ファイルサイズが肥大化するかと思ってたけど、Excel2016で試した限り、そうでもないらしい
 

456 :名無しさん@そうだ選挙にいこう:2020/03/20(金) 12:32:38.84 .net
>>453
作業に必要な10列だけセルのロックを解除してからシート保護したら?
シートの保護の際、「ロックされたセル範囲の選択」のチェックを外しておくこと。
これで「ロックされたセル」にはカーソルが行かない。

457 :名無しさん@そうだ選挙にいこう:2020/03/20(金) 12:44:49.77 .net
>>453
そもそも何故列数が問題になるのか
使用する列数に制約を課す方がややこしくなるが

458 :名無しさん@そうだ選挙にいこう:2020/03/20(金) 13:30:02.72 .net
>>456
表示固定なしならその方法も求めてないやろ

459 :名無しさん@そうだ選挙にいこう:2020/03/20(金) 19:27:26 .net
やっぱ普通に減らすのはダメですか。。。

一体どうやってるのか、
時々、全く使ってないセルを使ったことにして、
容量を増加させちゃう人がいるんですよね。

460 :名無しさん@そうだ選挙にいこう:2020/03/20(金) 20:35:03.01 .net
>>459
このスレの>>312 あたりを見ると参考になるかも。

461 :名無しさん@そうだ選挙にいこう:2020/03/20(金) 23:17:21.88 .net
>>453
小さい表でいいならWordにでも貼ればいいんじゃないのかと思う

462 :名無しさん@そうだ選挙にいこう:2020/03/23(月) 22:08:37.47 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

EXCELで月齢を計算する方法を教えて下さい。

463 :名無しさん@そうだ選挙にいこう:2020/03/23(月) 22:26:25.65 .net
>>462
月齢を簡単に求める方法(月齢略算式)
ttp://koyomi.vis.ne.jp/reki_doc/doc_0250.htm

464 :名無しさん@そうだ選挙にいこう:2020/03/23(月) 22:30:37.30 .net
>>463
ありがとうございます。
これをEXCELで実現するにはどうすればいいのでしょうか?

465 :名無しさん@そうだ選挙にいこう:2020/03/23(月) 22:34:48.41 .net
例えばA1に日付が入った場合に
B1に月齢を表示させたく思っております
よろしくおねがいします

466 :名無しさん@そうだ選挙にいこう:2020/03/23(月) 22:42:47.79 .net
=If(IsDate(A1)=True , "月齢")

467 :名無しさん@そうだ選挙にいこう:2020/03/23(月) 22:44:45.82 .net
>>464
セルに入力した日付データから西暦年を取り出すYEAR関数、月を取り出すMONTH関数、
日を取り出すDAY関数、余り(剰余)を求めるMOD関数、条件分岐であるIF()関数を組み
合わせればできますよ。これらの関数を使ったことはありますか?

468 :名無しさん@そうだ選挙にいこう:2020/03/23(月) 22:49:09.96 .net
>>466
ありのまますぎて吹いた

469 :名無しさん@そうだ選挙にいこう:2020/03/23(月) 23:15:38.60 .net
月齢が何だかわからなくてググったわ。

470 :名無しさん@そうだ選挙にいこう:2020/03/23(月) 23:21:48.42 .net
セーラームーン見てたら分かるだろって言おうと思ったけどセーラームーンに月齢一切でてなかったわ

471 :名無しさん@そうだ選挙にいこう:2020/03/23(月) 23:32:16.10 .net
>>469
江戸時代末期から明治にかけていろいろなカラクリを作った田中久重翁が造った
「万年時計」は、歯車による回転数の変換だけで地球から見た太陽と月の動きと
満ち欠けを再現した。田中久重=東芝の礎をつくった方です。
NHKの番組「ハイビジョン特集 万年時計 江戸時代の天才が生んだ驚異の機械時計」
を見てただ驚くばかりでした。動画も含めいろんな資料があるのでどうぞ。
スレ違いスマソ。

472 :名無しさん@そうだ選挙にいこう:2020/03/24(火) 00:25:04.78 .net
月齢も知らんのは無知だと思うわ

473 :名無しさん@そうだ選挙にいこう:2020/03/24(火) 00:34:36.64 .net
469は小学生なんだよ

474 :名無しさん@そうだ選挙にいこう:2020/03/24(火) 00:57:32 .net
勉強になったわ

475 :名無しさん@そうだ選挙にいこう:2020/03/24(火) 01:31:16.89 .net
>>467
アドバイスありがとうございます。
まで上手くいきませんががんばります。

476 :名無しさん@そうだ選挙にいこう:2020/03/24(火) 08:38:09.23 .net
>>467
非常に重要な、TRUNCが抜けてるよ

477 :名無しさん@そうだ選挙にいこう:2020/03/25(水) 20:57:01.60 .net
何かもっと違うのがありそうな気がするけどね。

子のオートフィルで干支が出るとか(多分ここで教えてもらった)、
Weekday使わなくてもText aaaだけで曜日が出るみたいなのが。

478 :名無しさん@そうだ選挙にいこう:2020/03/26(木) 00:59:19.34 .net
無いよ

479 :名無しさん@そうだ選挙にいこう:2020/03/26(Thu) 01:53:04 .net
【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

480 :名無しさん@そうだ選挙にいこう:2020/03/26(木) 02:45:36.97 .net
>>479
VBA否になってるけど、手順をそれ以上短縮したかったらVBAしかないと思う

481 :名無しさん@そうだ選挙にいこう:2020/03/26(木) 07:11:20.16 .net
合計を選択したい範囲(C2:O2)をドラッグして選択
shift+alt+=でSUM表示
1列目の数字部分(C3:C13)をドラッグしてSUMの引数に指定してctrl+enter
とか?

482 :名無しさん@そうだ選挙にいこう:2020/03/26(木) 07:41:01.76 .net
VBAの中に条件付き書式みたいなものって入れれますか?

483 :名無しさん@そうだ選挙にいこう:2020/03/26(木) 08:42:57.84 .net
>>479
4.
あらかじめ、=SUM(C3:C10000) を s にでも単語登録 IMEはONにしておく
c3で、s スペースと入力
c3を表の右端までオートフィル
そのまま、選択範囲の端を右ボタンで掴んで、その場にドラッグして値のみ貼付け

484 :名無しさん@そうだ選挙にいこう:2020/03/26(木) 08:56:31.44 .net
>>482
可能

485 :名無しさん@そうだ選挙にいこう:2020/03/26(木) 18:45:27.25 .net
>>484
ありがとうございます。VBAってなんでもできるとですね。
初心者にオススメの本とかありますか?

486 :名無しさん@そうだ選挙にいこう:2020/03/26(木) 19:28:18.55 .net
>>479
マクロ記録でやったらいいんじゃないのか

487 :名無しさん@そうだ選挙にいこう:2020/03/26(木) 21:54:34.39 .net
マクロの記録
最初は「何だ、マクロって意外と簡単に出来るんだな」と思い「これだけでも何とか出来るかな?」と思ったが、
すぐにその不便さと融通の効かなさを痛感し、
気が付けばたまに「えーと、これってどういうコード書いたらいいのかな?」って時に少し調べるくらいでしか使わなくなっていた

のって俺以外にもいるのかな?

488 :名無しさん@そうだ選挙にいこう:2020/03/26(木) 22:02:45.08 .net
自分も最初はマクロって、マクロの記録でできたコードを部分的に変更して完成させるのが一般的な使い方かと思ってた。

489 :名無しさん@そうだ選挙にいこう:2020/03/26(木) 22:19:52.95 .net
マクロの記録のいらないところをごっそり削除して使う

490 :名無しさん@そうだ選挙にいこう:2020/03/26(木) 22:32:16.10 .net
>>489
大体それに落ち着くよね

491 :名無しさん@そうだ選挙にいこう:2020/03/26(木) 22:49:36.95 .net
命令調べるのめんどい時マクロ記録で調べる

492 :名無しさん@そうだ選挙にいこう:2020/03/26(木) 22:58:58.57 .net
マクロの記録を起動してキーボードガチャガチャってやってコード生成しまくる遊びを考えた
結果は残念な事に・・暇な人は試してみて

493 :名無しさん@そうだ選挙にいこう:2020/03/26(木) 22:59:37.53 .net
セルの範囲とか色の名前を調べるのが面倒な時もマクロの記録を使う

494 :名無しさん@そうだ選挙にいこう:2020/03/26(木) 23:03:57.73 .net
記録していらない部分削るより最初から自分で書いた方が早い

495 :名無しさん@そうだ選挙にいこう:2020/03/26(木) 23:13:29.89 .net
interior辺りが鬼門

496 :名無しさん@そうだ選挙にいこう:2020/03/27(金) 10:48:16 .net
>>494
早いし楽、それに変数に条件分岐にループという重要な要素はマクロの記録では出来ないし
セルA1に100と入力するのもあんな回りくどいコードよりも普通に
Range(′′′A1′).Value=100
と書く方が冒頭のそれだから

497 :名無しさん@そうだ選挙にいこう:2020/03/27(金) 17:40:19.35 .net
経年データで文字の数と地域の名前ごとにまとめるのってどうしたらいいんだ?
例えが下手で申し訳ないんだが
県 名前   果物(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 .net
SUMIFSでいけんか?

499 :名無しさん@そうだ選挙にいこう:2020/03/27(金) 21:56:06.61 .net
やってみるか

500 :名無しさん@そうだ選挙にいこう:2020/03/27(金) 22:08:29.63 .net
とりあえず、2つめの表、月と果物の種類 行と列を入れ替えた方がいいと思う
あと、1つめの表、果物()は外した方がいい
表の構成と表記はなるべく一致させないと、余計な手間が増えるだけだよ

501 :名無しさん@そうだ選挙にいこう:2020/03/27(金) 22:21:12.61 .net
>>497
でけた
https://dotup.org/uploda/dotup.org2097630.xlsx

502 :名無しさん@そうだ選挙にいこう:2020/03/27(金) 23:04:58.16 .net
>>496
俺の知らない書き方があるのかと思ったら、
不正な文字ですって怒られたわ。

503 :名無しさん@そうだ選挙にいこう:2020/03/27(金) 23:10:27.04 .net
>>502
同じくw
単位
Range("A1").Value=100
の間違いだろう

504 :名無しさん@そうだ選挙にいこう:2020/03/27(金) 23:15:19.95 .net
>>497
最初からDB的に設計するのが一番。

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

りんご みかん ポンカン はどうするのかって?
後からピボットテーブルにすれば?

505 :名無しさん@そうだ選挙にいこう:2020/03/29(日) 15:27:44.86 .net
>>496
ループ処理とかは自分で書くけどあんまりVBAに慣れてないのでマクロの記録に頼っちゃう
元プログラマだからやってたのと結構違うのは戸惑うっていうかよくわからないっていうか…

今も単なるループで指定枚数ずつシートを順番に印刷してても
エラー出ずに終わってるのに初めの2シートしか印刷されないとかでなんで?になってる
PrintOutをMsgBoxに変えて表示してみると全部出てきてる
さっき印刷されたシートの枚数を0枚にしてみると今度はその次の2シートが印刷されてそのあとは無視だし

506 :名無しさん@そうだ選挙にいこう:2020/03/29(日) 16:02:56.14 .net
>>505
>元プログラマ
vbaは結構異端児なので、そのプライドは捨てた方が良いと思う
vbaって結局はExcel用のマクロで、プログラムが正しくてもExcelの仕様に振り回される事がかなり多いからな

>なんで?になってる
印刷範囲か何かだと思う
マクロの記録をしつつ、手作業で1シートずつ印刷してみてテストすると何か分かるかもしれない
わからないかもしれない

507 :名無しさん@そうだ選挙にいこう:2020/03/29(日) 17:13:26.44 .net
>>505
プログラマの発言とは思えん
素人なら知ってる言語しかできないってのはわかるが、職業プログラマなら臨機応変に使えるもんだがな

508 :名無しさん@そうだ選挙にいこう:2020/03/29(日) 17:19:09.37 .net
プログラマは単なる職種名
箸にも棒にもかからん三流以下はゴマンといる

509 :名無しさん@そうだ選挙にいこう:2020/03/29(日) 17:29:34.57 .net
素人プログラマレベルやん

510 :名無しさん@そうだ選挙にいこう:2020/03/29(日) 18:24:14.99 .net
>509
今はプログラマなんて誰でもなれるゾ
1995、windows95が現れた時にね

511 :名無しさん@そうだ選挙にいこう:2020/03/29(日) 18:37:36.12 .net
だから素人レベルなんだろ

512 :名無しさん@そうだ選挙にいこう:2020/03/29(日) 18:43:28.83 .net
>>511
うん、今はvbaは素人がプログラミングやってるんだって
95が出た当初はプログラマが外注で請け負ってたとは思うけどね
玄人だけのプログラミング談話がしたいならプラグラミング板かプログラマ板に行くと良いゾ

513 :名無しさん@そうだ選挙にいこう:2020/03/29(日) 20:01:05 .net
>>512
現在進行系で素人の趣味レベルから開発職に依頼するレベルまであるんだゾ
よく知らないことを想像で語らない方がいいゾ
プロを名乗るわりに技術が素人っぽいってつっこみが「玄人だけのプログラミング談義がしたい」にすり替わってるあたり理解力もあやしいゾ
謎の95への拘りも捨てたほうがいいゾ

514 :名無しさん@そうだ選挙にいこう:2020/03/29(日) 20:31:20 .net
チェックデジットで嵌まってます
助けて下さい
978-4-8222-7267-8
手書き・エクエル・電卓・Web計算サイト全てで6と出ます
バーコードで読むと8で合ってるし検索でも8と出ます
どっちが合っているのでしょう?

515 :名無しさん@そうだ選挙にいこう:2020/03/29(日) 20:48:05 .net
>>513
すいません、素人です
マウンティングしたくて嘘つきました、すいません!
あと、教えて下さい。

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

>プロを名乗るわりに技術が素人っぽいってつっこみが「玄人だけのプログラミング談義がしたい」にすり替わってるあたり理解力もあやしいゾ
すいません、丸投げしました
でもあっちいってボロカス叩かれると急成長するというのが経験上の理由です

516 :514:2020/03/29(日) 20:50:09 .net
エクエル×
エクセル◯

バーコード貼り忘れました
https://i.imgur.com/v33pNx9.png

517 :名無しさん@そうだ選挙にいこう:2020/03/29(日) 20:58:43 .net
>>516
8で合っている、と思う
isbnで検索しろ
ってか、isbnに電話かメールでdで問い合わせ下ほうがはやいぞ。そのための協会なんだから
https://i.imgur.com/x1UC8ZV.png

518 :名無しさん@そうだ選挙にいこう:2020/03/29(日) 21:07:47 .net
>>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
にやってみたのですが別の式があるのでしょうか

519 :名無しさん@そうだ選挙にいこう:2020/03/29(日) 21:26:08.38 .net
>>518
>別の式があるのでしょうか
知らない

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

まぁ恥ずかしいかなんかなら、ここで報告してもらえれば俺がwikipedia修正しとくよ

520 :名無しさん@そうだ選挙にいこう:2020/03/29(日) 21:34:41.80 .net
>>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になるという計算は具体的にどうやったのでしょうか?

521 :名無しさん@そうだ選挙にいこう:2020/03/29(日) 21:57:21.59 .net
スピル使えば

522 :名無しさん@そうだ選挙にいこう:2020/03/29(日) 22:10:52.05 .net
>>505
2枚しか印刷されないのは、たぶんこれが原因


ttps://blog.goo.ne.jp/morning-milk-tea/e/da97137cf6416b066a97fc234972494b

523 :名無しさん@そうだ選挙にいこう:2020/03/29(日) 22:56:51.38 .net
>>519,520さんホントスミマセン_orz
奇数を3偶数を1で掛算してた上に、さらにミスで最後の7が最初に紙に書いた段階で抜けておりました
お時間取らせてしまい申し訳ありませんでした
計算サイトhttps://www.muryou-tools.com/checkdigit.php
でも間違って13桁全部入力して[割出]ボタン押してしまっていました

524 :名無しさん@そうだ選挙にいこう:2020/03/30(月) 14:14:41.86 .net
【1 OSの種類         .】 Windows8.1
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

フォームコントロールでボタンを横並びで4つ作成し、それをきれいに整列させたいのですが、
ドラッグしてもシフトキーを押しながらクリックしてもフォームボタンを複数選択することができません。
何か特別なやり方がありますか?

525 :名無しさん@そうだ選挙にいこう:2020/03/30(月) 15:37:45.44 .net
>>524
シフト+クリックかドラッグで合ってる
ワークシートのセルが編集状態になってない?
どうしても原因がわからない時は保存してExcelを終了して再起動

526 :名無しさん@そうだ選挙にいこう:2020/03/30(月) 20:08:51.37 .net
>>524
右ドラッグだよ

527 :名無しさん@そうだ選挙にいこう:2020/03/30(月) 20:18:15.03 .net
左ドラッグ → まとめて選択するだけ
右ドラッグ → 選択後に右クリックメニューが出る

528 :名無しさん@そうだ選挙にいこう:2020/03/30(月) 20:36:43.04 .net
>>525-527
ありがとうございます
再起動してもできなかったのでActiveXコントロールで作り直しました

529 :名無しさん@そうだ選挙にいこう:2020/03/30(月) 22:47:26.65 .net
図形選択するカーソルにしてCtrl+A…

530 :名無しさん@そうだ選挙にいこう:2020/03/31(火) 12:28:01.83 .net
すみません、VBA初心者ですが上手くなりたいと思います。

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

実体験なども含めて教えてもらえるとありがたいです。

531 :名無しさん@そうだ選挙にいこう:2020/03/31(火) 12:47:28.61 .net
>>530
VBAはできることが多すぎて、全部を知り尽くしている人はあまりいません
みんなが自分に必要なことだけ+αの予備知識を覚えている感じです
本か入門サイトで基礎を覚えたら、あとはひたすら実践あるのみ、です

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

一通り勉強したら、次は何がやりたいか、どこでひっかかってるか質問して下さい

532 :名無しさん@そうだ選挙にいこう:2020/03/31(火) 18:27:25.69 .net
>>530
(VBAなしで)今、Excelをどの程度使えてるかによって、アドバイスが違ってくる時思います。

533 :名無しさん@そうだ選挙にいこう:2020/03/31(火) 19:55:28.66 .net
>>530
正直どれだけ本読んでも実際に作らなきゃ技術は付かない
とりあえず興味湧いた初心者向けの本でもサイトでもどれかやり切って、Excelでこういう動きをさせたいって思ったら調べながら作って内容を理解する積み重ね

534 :名無しさん@そうだ選挙にいこう:2020/03/31(火) 22:00:26.18 .net
>>530
なんでもいいから片っ端から自分の業務を自動化するものを作りまくればok

535 :530:2020/04/01(水) 05:24:47.57 .net
みなさんありがとうございます。Excelは関数少しとピボットテーブルを触れる程度のレベルです。それらも分からなければググって解決出来ています。VBAも同じ要領ですすめてみたいと思います。

536 :名無しさん@そうだ選挙にいこう:2020/04/01(水) 08:39:08.45 .net
>>534
何から手を付けようか悩む時は、高頻度そして手間の掛かる作業から優先的にやるのがいいな
面倒くさいと感じるのは効率化の第一歩、老害の「面倒などとほざいてたら仕事にならん(キリッ!)」はもはや精神論ですらない、思考停止も甚だしいってヤツだな

537 :名無しさん@そうだ選挙にいこう:2020/04/01(水) 08:42:10.34 .net
単純で量が多く、そして「戻せる物」が良いな
ファイルのリネームとか失敗したら目も当てられないw

538 :名無しさん@そうだ選挙にいこう:2020/04/01(水) 12:12:21.29 .net
=“山場は”&text(TODAY()+14,“yy/mm/dd“)&“までです!”

539 :名無しさん@そうだ選挙にいこう:2020/04/01(水) 18:48:33.21 .net
‘ここからの2週間が山場です。

で、簡略化できるな

540 :名無しさん@そうだ選挙にいこう:2020/04/01(水) 19:20:46.56 .net
>>539
好き

541 :名無しさん@そうだ選挙にいこう:2020/04/01(水) 19:51:04.57 .net
>>539
有能そう

542 :名無しさん@そうだ選挙にいこう:2020/04/01(水) 21:37:33.71 .net
hyperLINK関数とcell()
の組み合わせから逃れられない

543 :名無しさん@そうだ選挙にいこう:2020/04/02(木) 09:08:33.69 .net
セルに〇〇A型や□□A型という文字列があったとします
セル内に「A型」が含まれてれば100と返す数式を教えて下さい

544 :名無しさん@そうだ選挙にいこう:2020/04/02(木) 09:24:50.85 .net
>>543
=IF(COUNTIF(A1,"*A型*")=1,100,"-")
とか・・・

545 :名無しさん@そうだ選挙にいこう:2020/04/02(木) 09:49:08.04 .net
>>544
出来ました有難う御座いました!

546 :名無しさん@そうだ選挙にいこう:2020/04/03(金) 07:14:26.03 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるbゥ    .】 いb「え
【4 VBAでの回答の可否】 否

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

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

そこでAVERAGE関数で上手く出来ないかと思ったのですがなにかいい方法はないでしょうか?

547 :名無しさん@そうだ選挙にいこう:2020/04/03(金) 07:55:23.08 .net
1月はじまりで記録してるならMONTH(TODAY())で求められる月の数値を使って割ればいいんじゃないかな

548 :名無しさん@そうだ選挙にいこう:2020/04/03(金) 08:14:24.27 .net
割る数字を12と固定しないで関数使って1月から12月までのどこかのセルのデータ数をカウントするようにすればいいかと

549 :名無しさん@そうだ選挙にいこう:2020/04/03(金) 08:20:27.04 .net
AVERAGEIF

550 :名無しさん@そうだ選挙にいこう:2020/04/03(金) 12:49:32.49 .net
COUNTAの数で割る

551 :名無しさん@そうだ選挙にいこう:2020/04/03(金) 17:24:01.75 .net
【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),"日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日")

としてもうまくいきません。何が問題なのでしょうか?

552 :551:2020/04/03(金) 17:57:01.21 .net
=CHOOSE(WEEKDAY(CONCATENATE(B1,"-",C1,"-",D1)),"日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日")

とすればいいんでしょうかね…大丈夫なのかな。

553 :名無しさん@そうだ選挙にいこう:2020/04/03(金) 18:16:33.38 .net
=DATE(年, 月, 日)

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

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

もう少し言うと、日付は曜日に直接変換できるし、WEEKDAY関数は基準が日曜で1になってるかどうか悩むから、
=TEXT(DATE(B1,C1,D1),"aaa")
と書くことを、個人的には勧めるよ

555 :名無しさん@そうだ選挙にいこう:2020/04/03(金) 18:19:46.51 .net
取得した曜日をどう使いたいか知らんが、表示だけが目的ならaaaを使えばよろし。

>>552

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

>>547の方法で解決しました
ありがとうございます!

557 :546:2020/04/03(金) 22:23:08.23 .net
あ、>>556の質問者は>>546の者です
失礼しました

558 :551:2020/04/05(日) 08:23:53.94 .net
>>553-555

ありがとうございます。

559 :名無しさん@そうだ選挙にいこう:2020/04/05(日) 14:22:38.26 .net
参照渡しがうまくいかないのですが、何がおかしいのでしょうか?

Option Explicit

Sub main()
Dim a, b
a = 1
b = 1

Debug.Print a & "|" & b
sub_function_byval (a)
sub_function_byref (b)
Debug.Print a & "|" & b 'この部分

End Sub

Function sub_function_byval(ByVal c)
c = 2
End Function

Function sub_function_byref(ByRef d)
d = 3
End Function

560 :名無しさん@そうだ選挙にいこう:2020/04/05(日) 14:23:28.30 .net
この部分
というところで、1|3になることを期待しています

561 :名無しさん@そうだ選挙にいこう:2020/04/05(日) 14:34:06.31 .net
sub_function_byref (b) が sub_function_byref b
かな
個別の引数をカッコで囲むと、それは「その引数だけ強制的に値渡し」というルールになるんだよ
VBAはカッコとかイコールの意味がいろいろある変な言語

562 :名無しさん@そうだ選挙にいこう:2020/04/05(日) 14:38:04.66 .net
サブルーチンをコールする時はカッコで囲みたいっていう場合は、
call sub_function_byref (b)
かな。
うまく動いてないって言う奴は、call使って書くと
call sub_function_byref ((b))
って書いてるのと同じ

563 :名無しさん@そうだ選挙にいこう:2020/04/05(日) 15:03:42 .net
VBA独自のイコールの意味ってなんだろ?
個人的にはSETとLETの使い分けが、初心者が引っかかるポイントの一つだと思う

564 :名無しさん@そうだ選挙にいこう:2020/04/05(日) 15:14:46 .net
初心者というか変数の型を考えて使ってるかどうか

565 :名無しさん@そうだ選挙にいこう:2020/04/05(日) 15:23:55 .net
>>561
ありがとうございます、おかげさまでうまく動きました
カッコってそういう意味もあったのですね、知りませんでした・・・

566 :名無しさん@そうだ選挙にいこう:2020/04/05(日) 15:39:53 .net
同じフォルダ内に
?a.csv
?b.csv
の2つを入れておく。

?のカラムは「ID」「NAME」「SEX」
?のカラムは「ID」「AGE」
となっていて、??それぞれ30000行のデータがあるとする。

Excelの「取得と変換」でこのフォルダを指定して、
「結合および読み込み」を選択すると、
?と?が結合される。

ただ、結合後のカラムは「ID]NAME」「SEX」だけで、「AGE」がない。
だから、
?をソースとしたデータの「AGE」は空欄で、
?をソースとしたデータの「NAME」「SEX」は空欄となる。

「ID」「NAME」「SEX」「AGE」のカラムが生成されるように設定する方法ってありますか?

567 :名無しさん@そうだ選挙にいこう:2020/04/05(日) 16:07:30.57 .net
SEXだけ読んだ

568 :名無しさん@そうだ選挙にいこう:2020/04/05(日) 16:28:44.55 .net
結合後SEX

569 :名無しさん@そうだ選挙にいこう:2020/04/05(日) 17:42:17 .net
>>564
VBAは型の概念が緩くて、間違えてもそれなりに動いちゃうから身に付きにくいんだ

570 :名無しさん@そうだ選挙にいこう:2020/04/05(日) 17:52:18 .net
なんかワロタwwwwww

571 :名無しさん@そうだ選挙にいこう:2020/04/05(日) 18:13:45.13 .net
>>566
やりたい事が、IDをキーにした@とAの結合なら、
まず@、Aそれぞれ単独で読み込むクエリを定義して、
それらふたつをマージするクエリを定義する

572 :名無しさん@そうだ選挙にいこう:2020/04/05(日) 18:56:55 .net
小学生かよ…

573 :名無しさん@そうだ選挙にいこう:2020/04/06(月) 21:34:09.04 .net
例えば1015と打つと10月15日と表示されるようにするにはどうセルのユーザー定義すればいいでしょうか?
また114と打つと1月14日と11月4日の2パターン考えられるので、0114や1104(4桁)で入力しても0は表示されないようにしたいです。

574 :名無しさん@そうだ選挙にいこう:2020/04/06(月) 21:43:45.85 .net
>>573
無理だなぁ
https://support.microsoft.com/ja-jp/help/883199

どうしても日付の方の二桁目が0になる
#0"月"#0"日"

575 :名無しさん@そうだ選挙にいこう:2020/04/06(月) 21:58:02.02 .net
>>573
=value(left(入力セル、 2))&“月”&value(right(入力セル、 2))&“日”

576 :名無しさん@そうだ選挙にいこう:2020/04/06(月) 23:34:50 .net
>>575
入力セルは文字列にするんやね?

577 :名無しさん@そうだ選挙にいこう:2020/04/07(火) 12:49:55 .net
https://i.imgur.com/3s1f9ws.jpg
初歩的な質問です。この表の色のついてある部分だけに計算結果を入れたいのですがどうすれば良いでしょうか。

578 :名無しさん@そうだ選挙にいこう:2020/04/07(火) 12:51:03 .net
色のないセルは自動的に空白になるようにしたいです。

579 :名無しさん@そうだ選挙にいこう:2020/04/07(火) 14:16:55.27 .net
「色の着いてるところに計算結果を」って、
なにかの条件で色が着いたり消えたりするのか、
そもそもなんの計算結果が入るとかが
全然類推できない表だな…

「自分だと簡素に終わりそう」と思ってても
こっちにはその表の運用の前提がわかんないから
答えようがないんだよね

文字を白くしたら色のないセルは空白っぽく見えるんでねーのw

580 :名無しさん@そうだ選挙にいこう:2020/04/07(火) 14:35:21.79 .net
>>577
それを初歩的と呼べるならわざわざこんなところで聞かなくてもきっとできるから、がんばってチャレンジ!
応援するよ

581 :名無しさん@そうだ選挙にいこう:2020/04/07(火) 15:08:34.10 .net
1)色の付いていないセルをクリアする
2)全てのセルに保護をかける
3)色を付けたセルだけ保護を解除する

582 :名無しさん@そうだ選挙にいこう:2020/04/07(火) 19:41:14 .net
まさかの直撮り

583 :名無しさん@そうだ選挙にいこう:2020/04/07(火) 20:21:33 .net
単純な質問なんだけど、
水平スクロールバーとシートを選択するタブって
別の段に表示できない?
シートが多いファイルで水平スクロールバーが小さくなるし、水平スクロールバーを広げると、シートのタブが見づらくなる

584 :名無しさん@そうだ選挙にいこう:2020/04/07(火) 20:56:24 .net
出来んはず
多いならシート選択画面使うとか

585 :名無しさん@そうだ選挙にいこう:2020/04/07(火) 21:22:56 .net
>>577
その色をつけたのはなにを基準にしたんだよ
普通は色をつける判断基準を計算式にする

色そのものをフラグには出来ない

586 :名無しさん@そうだ選挙にいこう:2020/04/08(水) 22:32:28.27 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

入力 1 2 3・・・31というシートがあります
入力シートのA1に年月を入力すると1-31のA1にシート名(日付)に対応した曜日が出ます

A1が土曜or日曜になるシートの見出しを一括で色付けしたいのですが、それぞれのシートのA1をアクティブにしないと色が付きません
入力シートに年月を入力するだけで1-31シートの見出し色を自動的に変えるにはどうしたらいいでしょうか

今は1-31のシートに↓を入れてます
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$1" Then Exit Sub
If Target = "土" Then Sheets(1).Tab.ColorIndex = 5
If Target = "日" Then Sheets(1).Tab.ColorIndex = 10
End Sub

587 :名無しさん@そうだ選挙にいこう:2020/04/08(水) 22:54:53.63 .net
>>586
入力シートに入力した時に色付けるなら入力シートのchangeイベントに書かないとダメだろ

588 :名無しさん@そうだ選挙にいこう:2020/04/08(水) 23:03:16.28 .net
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
if sh.name = "入力" then
for each
'全部のシート見出しをデフォルトに
next
for each
if sh.name<>”入力” then
If Target = "土" Then Sheets(1).Tab.ColorIndex = 5
If Target = "日" Then Sheets(1).Tab.ColorIndex = 10
endif
next
endif
End Sub

みたいな

589 :名無しさん@そうだ選挙にいこう:2020/04/09(木) 01:11:30.50 .net
Excelってホント奥深いよなー。底なし沼やわ。

590 :名無しさん@そうだ選挙にいこう:2020/04/09(木) 07:17:25.68 .net
A1に=A2 として、A2を書き換える
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then MsgBox ("反応") ELSE Debug.Print "違うセル"
End Sub
で、反応しないように、WorksheetChangeイベは、参照先のセルには反応しない

だから、>>587の言うとおり、実際に直接入力するシートに、全部のシート見出し色を変更するコードを書く必要があるよ

591 :名無しさん@そうだ選挙にいこう:2020/04/09(木) 11:50:39.67 .net
>>589
ホントどこまで勉強しても終わりが見えない

592 :名無しさん@そうだ選挙にいこう:2020/04/09(木) 12:03:13.80 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】不可

画像をセル内に収めて保存して
画像自体も不可逆保存してファイルの容量を軽くしたいのですが
ネットで出た情報を軒並み試したのですが
・画像を【図】から挿入する
・メール送信レベルのppiまで下げる
・ファイル内のイメージを圧縮しないチェック解除
大体やることはやりましたが、一切画像が小さくならずファイル容量が軽く2桁Mを突破します
結局、手作業でペイントからファイルサイズを小さくして挿入していますが
これをexcel内で行うことは不可能なのでしょうか
助けてください

593 :名無しさん@そうだ選挙にいこう:2020/04/09(木) 12:24:49.66 .net
>>592
無理

594 :名無しさん@そうだ選挙にいこう:2020/04/09(Thu) 12:44:00 .net
>>592
control X
control alter V
で画像(jpg)で張り付け
を選択

595 :名無しさん@そうだ選挙にいこう:2020/04/09(木) 19:52:11.87 .net
vbaで列と列の間に同じ数列を追加するにはどう書けばいいでしょうか。

A〜E列のそれぞれの列間に2列ずつ追加

596 :名無しさん@そうだ選挙にいこう:2020/04/09(木) 20:19:49.67 .net
>>592
画像挿入したあと書式メニューから「画像の圧縮」を選ぶ

597 :名無しさん@そうだ選挙にいこう:2020/04/09(木) 20:23:46.57 .net
>>595
DからA列まで以下ループ
右に2列挿入
2列に数列代入

598 :名無しさん@そうだ選挙にいこう:2020/04/09(Thu) 23:20:37 .net
>>593-594
明らかに知識不足なレベルで回答側に回られると普通に迷惑だから
黙っておいたほうがええで

599 :名無しさん@そうだ選挙にいこう:2020/04/10(金) 05:40:11.34 .net
>>598
一度エクセルに貼った画像を切り取りして、形式を選択して張り付け→画(jpg)で張り付けを選ぶと
トリミングで切ったところが削除されて画質が抑えられて、スゴく軽くなるのはどういう理由で起きるの?

600 :名無しさん@そうだ選挙にいこう:2020/04/10(金) 07:16:25.35 .net
A列 B列
1 2
2 5
3
4
5
これを
A列 B列
1
2 2
3
4
5 5

とするにはどうしたらいいですか?vbaでお願いします

601 :名無しさん@そうだ選挙にいこう:2020/04/10(金) 08:24:25.86 .net
Range("B1:B5").Formula="=LET(r,ROW(),TEXT(r*(MOD(r,3)=2),""#""))"
LETが使えるようになるまで待て

602 :名無しさん@そうだ選挙にいこう:2020/04/10(金) 13:59:39 .net
>>600
Sub Macro1()
  Dim k()
  Dim Dic As Object
  Set Dic = CreateObject("Scripting.Dictionary")
  With Dic
    For Each c In ActiveSheet.UsedRange
      t = c.Text
      If t <> "" Then
        If .Exists(t) Then
          .Item(t) = .Item(t) + 1
        Else
          .Add t, 1
        End If
      End If
    Next
    ActiveSheet.UsedRange.Clear
    k = .Keys
    For r = 1 To .Count
      For c = 1 To .Item(k(r - 1))
        Cells(r, c) = k(r - 1)
      Next
   Next
  End With
  With ActiveSheet.Sort
    .SortFields.Add2 Key:=Range("A1")
    .SetRange ActiveSheet.UsedRange
    .Apply
  End With
End Sub

603 :名無しさん@そうだ選挙にいこう:2020/04/10(金) 14:08:20 .net
>>600
セルの中身はマイナスも少数もない数字だけ?

604 :名無しさん@そうだ選挙にいこう:2020/04/10(金) 14:08:53 .net
訂正

>>600
セルの中身はマイナスも小数点もない数字だけ?

605 :名無しさん@そうだ選挙にいこう:2020/04/10(金) 14:56:14 .net
https://dotup.org/uploda/dotup.org2109075.xlsx.html
上記ファイルのC3セルには参照セルとしてB1が入っていますが、ここにB1の数式本体(AVERAGE(A1:A4))を代入する方法はないでしょうか?

606 :名無しさん@そうだ選挙にいこう:2020/04/10(金) 15:30:32.24 .net
バージョンによるけどFORMULATEXT関数でいけるんじゃない

607 :名無しさん@そうだ選挙にいこう:2020/04/10(金) 15:36:01.64 .net
>>606
ごめんなさい2010だったので無理でした・・

608 :名無しさん@そうだ選挙にいこう:2020/04/10(金) 16:14:46.30 .net
×C3 ○C1かな?

C1を選択-> 数式タブの名前の定義 ->参照範囲に =GET.CELL(6,$B1)  として適当な名前を付ける
付けた名前で、同行の列Bの数式が文字列として呼出せるよ
Excel4マクロだから、.xlsm等のマクロを含む形式で保存する必要あり

609 :名無しさん@そうだ選挙にいこう:2020/04/10(金) 19:31:49.59 .net
>>602
クインテッサの宇宙船みたいだな。

610 :名無しさん@そうだ選挙にいこう:2020/04/11(土) 14:00:30 .net
>>599
Excelがそういう動作をするから

611 :名無しさん@そうだ選挙にいこう:2020/04/11(土) 15:30:58.18 .net
列を挿入する下記マクロが異様に遅いです
単純に列が多いからなのか、マクロの書き方がまずいからなのか、どちらでしょうか?
Sub 列挿入()
Dim k As Long
For k = 3643 To 3 Step -1
Columns(k).Insert
Columns(k).Insert
Next
End Sub

612 :名無しさん@そうだ選挙にいこう:2020/04/11(土) 15:35:03.62 .net
>>611
シートの表示に影響するような処理はそもそも遅い
・screenupdatingで表示更新切る
・1行ずつではなく一気に挿入にする
とかで多少マシになるんじゃね

613 :名無しさん@そうだ選挙にいこう:2020/04/11(土) 18:06:13 .net
>>611
Sub 列挿入()
  Application.ScreenUpdating = False
  Dim k As Long
  For k = 3643 To 3 Step -1
    Columns(k).Resize(, 2).Insert
  Next
  Application.ScreenUpdating = True
End Sub

614 :名無しさん@そうだ選挙にいこう:2020/04/11(土) 18:07:00 .net
個人的には変数名をcにしたい

615 :名無しさん@そうだ選挙にいこう:2020/04/11(土) 18:18:44 .net
【1 OSの種類        】 Windows10
【2 Excelのバージョン  】 Excel2010
【3 VBAが使えるか    】 いいえ
【4 VBAでの回答の可否】 可

セルの値の前に、半角スペース2文字でインデントされているデータを以下のように階層をネストさせて自動でグループ化したいのですが、うまくいく方法ないでしょうか。

1 2 3
-AAAA
| -BBBB
| | CCCC
| - DDDD
| -EEEE
| | FFFF
| - GGGG
-HHHH
||-IIIII
|- JJJJ
- KKKK

1階層表示の時は、
-AAAA
-HHHH
2階層表示の時は、
-AAAA
| -BBBB
| -EEEE
-HHHH
||-IIIII
- KKKK
3階層表示の時は全て表示

616 :名無しさん@そうだ選挙にいこう:2020/04/11(土) 18:30:53 .net
>>615
そのツリーの表示は、

ms ゴシックを使いつつ



で表現するとがぜん見やすいよ
あとツリーの横にレベル列は必須

□は全角スペースの代わりに使ってる

1├●AAAA
2│├●BBBB
2│└●CCCC
1├ ● DDDD
2│└●EEEE
1├● FFFF
1├● GGGG
1└●HHHH
2□├●IIIII
2□ ├● JJJJ
3□□└● KKKK

と、こう表現する

出力の形式がそれなら、
半角スペースの数を数えてレベル列を作る

ところから始める…

617 :名無しさん@そうだ選挙にいこう:2020/04/11(土) 21:29:42.31 .net
階層レベルを示すための、レベル列は、下記のように半角スペースの数を数えてつくったのですが、
その後、データ→グループ化でどう自動化していいのかでつまづいています。
グループ化をネストにさせたいところが特に。
実際のデータは8階層あって数千行あるので、毎回手動だとつらいかと。
=(LEN(B2)-LEN(SUBSTITUTE(B2," ","")))/2

618 :名無しさん@そうだ選挙にいこう:2020/04/11(土) 21:53:27.29 .net
>>617
TRIM

619 :名無しさん@そうだ選挙にいこう:2020/04/11(土) 22:17:48.87 .net
>>617
BOMかな?


表の上側に
表示したい親の名前か管理cdを入れる入力セルを作る
その横のセルに、その親のレベルを入力するセルを作る(IndexMATCH かVLOOKUPで引用でも)
その隣に何階層下まで表示するか入れる入力セルを作る

表に対して
レベル列の左側に、
ひとつ上が空白のとき
F 4で絶対参照して、表示したい親に入れたやつとその行の名前が一致してるかを判別して、一致してたら1とか“親”とか“レ”とか書き出すif

ひとつ上に空白じゃないとき
その行のレベルが、表示親のレベルより小さいなら
ひとつ上のセル+1とか“子”とか“レ”とか書き出すif

それ以外なら空白

という関数を仕込んで、表の下側まで展開したら、表示指定する親以下の固まりの部分が浮かび上がる

それをオートフィルターしてテキストフィルターで抽出


そこまでできたら、もう一列増やして、どの階層まで対象にするか判断して、チェック表示を返す部分を追加する

620 :名無しさん@そうだ選挙にいこう:2020/04/11(土) 22:31:08.77 .net
>>619
>>617

ひとつ上に空白じゃないとき
その行のレベルが、表示親のレベルより小さいなら
ひとつ上のセル+1とか“子”とか“レ”とか書き出すif


その行のレベルが、表示親のレベルより大きいなら

だった、誤記訂正で

621 :名無しさん@そうだ選挙にいこう:2020/04/11(土) 23:57:07.51 .net
>>615
作業列にスペースの数(階層)を入れて、オートフィルタで2以下とか3以下とか指定するだけでは?

622 :名無しさん@そうだ選挙にいこう:2020/04/11(土) 23:59:06.52 .net
>>617
もし、グループ化にこだわる必要がなければ、
1行目をタイトル行にして、オートフィルタをかけてやれば、階層表示は可能だよ

グループ化する必要がある場合は、マクロを組むしかないと思う

マクロの流れは、
レベル8〜1までループ
上行からレベルが一致する行を探し、そこから、レベルが小さくなる前行までをグループ化 最終行まで続ける

623 :名無しさん@そうだ選挙にいこう:2020/04/12(日) 01:46:41.73 .net
皆さん、ありがとうございます。
オートフィルタだと表示項目を選択しづらくなるので、グループ化を目指しています。
ttps://www.shegolab.jp/entry/excel-macro-outline-tree
に良いマクロがあったので、それに合わせて項番階層を作成中です。
if文のネストになりそうでちょっと面倒そうですが、愚直にやっていけば何とかなりそうな感じです。
項番階層ってのもあるのですが、空白はダメと書いてあるので、使えなさそうでした。
空白をインデントに変える方法もしくは、VBAを書き換える方法があればできるかもしれないですが、
そこまでスキルがなくて。。。

624 :名無しさん@そうだ選挙にいこう:2020/04/12(日) 10:21:05.64 .net
>>623
オートフィルターが効く部分を残しておくとsumifとかcountifで見る以外の集計作業が楽になるよ

データに残らないインデントを使うとあとで大変なことになるよ

部品表とか組織図で一度やって大失敗した経験から言っておく

625 :名無しさん@そうだ選挙にいこう:2020/04/12(日) 11:41:11.87 .net
ご助言ありがとうございます。
とある装置の性能シミュレーション結果があって、モジュール、サブモジュール毎の
集計結果はテキストででいて、それを見やすくするのにエクセルで体裁整えてます。
オートフィルタも併用しますがエクセルで再集計することはないので、見易さがよければと。
データ量が多いので、完全自動化がよかったのですが、最終的に、一度データ区切り位置で
階層を列に分解したあと、↓の列下げ階層でグループ化しました。
ttps://www.shegolab.jp/entry/excel-macro-outline-tree

626 :名無しさん@そうだ選挙にいこう:2020/04/12(日) 17:58:23.19 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel 2016 16.0.12624.20348
【3 VBAが使えるか    .】6☆
【4 VBAでの回答の可否】 可

シフト勤務表をエクセルで作っていて、条件付き書式で土曜を水色、日曜をピンク、祝日を黄緑に背景を塗り潰すようにしています。
イレギュラーな日は文字色を赤にしたいのですが、条件付き書式で文字色は自動にしているにも関わらず、日曜の文字色だけ黒から変更できません。土曜と祝日は文字色を変更することができます。
考えられる原因と解決策を教えてください

627 :名無しさん@そうだ選挙にいこう:2020/04/12(日) 18:00:59.36 .net
>>626
条件付き書式の優先順位を変更する

あと、↓ってなんだ
【3 VBAが使えるか    .】6☆

628 :名無しさん@そうだ選挙にいこう:2020/04/12(日) 18:06:10.21 .net
条件付き書式の順番?

629 :名無しさん@そうだ選挙にいこう:2020/04/12(日) 18:18:11.02 .net
>>627
一回設定した書式を全部クリアして書き直したら文字色変えられるようになりました
何故だろう…?

630 :名無しさん@そうだ選挙にいこう:2020/04/12(日) 18:19:42.77 .net
>>629
多分ごちゃごちゃになってて頭の中で整理できていないだけ
よ〜く読めば
>日曜の文字色だけ黒から変更できません。
この理由もわかるはずだけど、まぁ得に意味ないし、頭きりかえて次いこう

631 :名無しさん@そうだ選挙にいこう:2020/04/12(日) 18:49:55.92 .net
自動だとエクセルのカラーバーから出てくる標準=黒が自動に
設定なしだと、とくに上書きしなあ

みたいな?

632 :名無しさん@そうだ選挙にいこう:2020/04/12(日) 22:00:01.34 .net
>>629
もう解決してるみたいだけど、おそらく日曜日の場合は「背景ピンク、文字色黒」になってた可能性。
なお、イレギュラーな日は直接色を指定するんじゃなくて、どこかに作業セルを作って、それをフラグに条件付き書式を設定するのがよいかも。

633 :名無しさん@そうだ選挙にいこう:2020/04/12(日) 23:05:13 .net
>>630
原因が特定できずモヤモヤしてますがしょうがないですね
>>632
最初それだと思って書式確認したんですが自動になってたので不思議すぎて質問しました
良い感じの設定を思いついたらそうしてみます

634 :名無しさん@そうだ選挙にいこう:2020/04/13(月) 20:36:36.55 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

OneNoteが使いたかったんですが、
職場では使えない為エクセルで疑似的にやろうかと考えています。

全シート共通で左側にハイパーリンク駆使して分類わけし、
基準のシートを更新したら他のシートもリアルタイムに更新されるようにしたいのですが
何か方法はありませんか?
全シート選択して一括修正など、簡単にできそうな操作があればそれでもかまいません。
よろしくお願いします。

635 :名無しさん@そうだ選挙にいこう:2020/04/13(月) 20:39:08.87 .net
>>634
ブックの共有?
パワークエリ

636 :名無しさん@そうだ選挙にいこう:2020/04/13(月) 20:50:27.50 .net
>635
ブックの共有は考えていないです。
1つのブック内でシートを多数作成し、このシートをonenoteでいうページに見立てます。
全シート共通で左側のセルにハイパーリンクを使用しセクション分けを行って、
メニュー作成します。
セクション分けは頻繁に変更したいので、基準のシートを変更したら
他のシートも自動的に変わるようにしたかったのですが、
うまくいかずその方法もしくは別の手段があれば知りたいです。

637 :名無しさん@そうだ選挙にいこう:2020/04/13(月) 23:12:34 .net
>>636
基準のシートに何を入れて共通の左側のセルに何を表示させたいわけ?

638 :名無しさん@そうだ選挙にいこう:2020/04/14(火) 07:12:28.79 .net
oneノート使ってないから起動して眺めただけだけど
セクションの方をシートにしなかったのは何故?
ページをアウトラインに見立てれば、似てる気がする

639 :665:2020/04/14(火) 15:11:15.09 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2019
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

ブックAで重複すると黒く塗る条件付き書式の表を使っており、一ヶ月分を日付ごとに削除してから戻していくことで同ロットの初日を割り出しています。
この状態でブックBを編集してもAで戻すを押すとBの編集が戻っちゃいます(2つのブックを別窓で開いても戻るボタンが窓を跨いで共有してしまう)。

レジストリ編集する方法調べて〜office16〜"%1"で設定して開いても分けられません。
windows7のexcel2010だと出来てたんですが、10では出来なくなったんでしょうか?

長文失礼しました。よろしくおねがいします。

640 :名無しさん@そうだ選挙にいこう:2020/04/14(火) 16:02:28.67 .net
全くの素人ですが大学1年生の娘にふさわしいOFFICE参考テキストお願いします

641 :名無しさん@そうだ選挙にいこう:2020/04/14(火) 18:23:50.02 .net
>639
説明下手すぎワロタ
状況も質問もそれでは分かりませんよ
文章が苦手なら画像を活用しては?

>640
なんでもいいからエクセル初心者みたいな本買ってみればいいんじゃない
そもそも、本選びだって人生においては勉強の一つなんだから
娘が欲しがっているのなら自分で選ばせるべきでしょう
あなたは教育の仕方を勉強したほうがいい

642 :名無しさん@そうだ選挙にいこう:2020/04/14(火) 18:53:44 .net
>>639
最初の2行いらなくないか
Excelファイルを2つ開いている状態で、Excel1のA1に入力、Excel2のA1に入力、Excel1のB1に入力した後に
Excel1のA1、B1を修正しようとctrl+zを2回するとExcel1のB1とExcel2のA1が消える
アクティブなExcelだけコントロール出来ないかって事だろう

回答として、
2013から仕様が変わってるので、複数開いていても同じインスタンスの扱いなので普通に開いても無理
全く同じ質問してる人が過去に居るから参考までに
https://answers.microsoft.com/ja-jp/office/forum/office_2013_release-excel/excel-2013/3e055d06-d049-4a77-9abe-2aa1bcd65e3c

643 :名無しさん@そうだ選挙にいこう:2020/04/14(火) 20:33:52 .net
ExcelVBAからWordやパワーポイントなどの他アプリを参照して操作するのはExcelとその他アプリとデータのやり取りが目的でExcelのファイルと同じ感覚で直接編集する為のものじゃないんだよな
どうしてもそうしたいならあっちのVBAで設定した方が早いし簡単
それでもどうしてもExcel発に拘るなら適当な位置でメッセージボックスでも入れて、それを出したままWordやパワーポイントを直接編集し、終わったらメッセージボックスを引っ込める
という方法しかないのかね?やっぱり

644 :名無しさん@そうだ選挙にいこう:2020/04/14(火) 21:01:51.70 .net
>>640
MOS対策本がいいすよ

645 :名無しさん@そうだ選挙にいこう:2020/04/14(火) 21:02:48.13 .net
>>643
断定しながら質問ってなんじゃそりゃ

646 :名無しさん@そうだ選挙にいこう:2020/04/15(水) 01:05:07 .net
グラフの特定の2点間を結んだ直線の角度を求める関数ってあったりしますか?

647 :名無しさん@そうだ選挙にいこう:2020/04/15(水) 01:24:21 .net
用途不明すぎてワロタ

648 :名無しさん@そうだ選挙にいこう:2020/04/15(水) 01:30:56 .net
>>646
三角関数で求められないのか
=ATAN2(底辺,高さ)*180/PI()

649 :名無しさん@そうだ選挙にいこう:2020/04/15(水) 01:37:29 .net
>>648
縦軸と横軸の比率が1:1とは限らない
プロットエリアのサイズと軸の範囲がわからないと計算できない

650 :名無しさん@そうだ選挙にいこう:2020/04/15(水) 01:43:52 .net
>>649
情報の後出しなのか茶々入れなのかどちらなんだ

651 :名無しさん@そうだ選挙にいこう:2020/04/15(水) 01:50:32 .net
>>649は質問主ではないです・・

652 :名無しさん@そうだ選挙にいこう:2020/04/16(Thu) 11:22:50 .net
KB4484285
またかよ、最悪

653 :名無しさん@そうだ選挙にいこう:2020/04/16(木) 12:33:21.18 .net
>>652
詳しく

654 :名無しさん@そうだ選挙にいこう:2020/04/16(木) 13:48:28.35 .net
面倒な計算をすれば線の角度はわかるけど、そもそもなんのために角度を求めたいのか
グラフは角度を読み取るための物ではないのだが、使い方を間違ってないか

655 :名無しさん@そうだ選挙にいこう:2020/04/16(Thu) 15:46:55 .net
グラフが上向きになってるとして、その上向きの度合いを数値で表したいんです

656 :名無しさん@そうだ選挙にいこう:2020/04/16(Thu) 16:12:59 .net
なんのグラフか分からないけどExcelで作るような棒グラフとか折れ線グラフの事を言ってるなら増加率とか変化率で算出するのが一般的ではなかろうか
統計でも角度で扱うのは無かったような…

657 :名無しさん@そうだ選挙にいこう:2020/04/16(Thu) 17:37:38 .net
>>655
角度じゃなくて良いなら(Yj-Yi)/(Xj-Xi)でいいんじゃね?

658 :名無しさん@そうだ選挙にいこう:2020/04/16(Thu) 18:02:31 .net
何かの変化率を折れ線の角度で表現するのは世の中で一般的じゃないから、そんな数字を見せられた相手が困惑すると思うぞ

そもそもExcelではグラフエリアやプロットエリアをドラッグしただけで線の角度が変わってしまう
そこはどうするつもりなのか

659 :名無しさん@そうだ選挙にいこう:2020/04/16(Thu) 18:35:15 .net
変化率を表したいなら微分すればいいよ

660 :名無しさん@そうだ選挙にいこう:2020/04/16(木) 19:01:31.04 .net
今月の目標は10度です!

661 :名無しさん@そうだ選挙にいこう:2020/04/16(木) 19:22:01.68 .net
回帰直線にしたら傾き出るよ

662 :名無しさん@そうだ選挙にいこう:2020/04/16(木) 19:43:47.43 .net
>>655
グラフって数値を元に表すもんなんだからグラフから数値出すんじゃなくて元の数値から出せる度合いを表した方がいいと思うんだが

663 :名無しさん@そうだ選挙にいこう:2020/04/16(Thu) 21:58:03 .net
質問主ですがなるほどわからんて感じになってきました
>>662の言う通り何もグラフから出さなくてもいいんですが、上昇率とでもいえばいいんですかね・・

664 :名無しさん@そうだ選挙にいこう:2020/04/16(Thu) 22:04:29 .net
>>663
https://www.google.com/amp/s/dekiru.net/article/4568/amp/

slope関数ではいかが

665 :名無しさん@そうだ選挙にいこう:2020/04/16(Thu) 22:14:24 .net
>>663
何%上がったとかそういう単純な話ではないのか

666 :名無しさん@そうだ選挙にいこう:2020/04/16(Thu) 22:28:07 .net
メ ←こういう状態で2本のグラフが交差してる状態があるとして、「ノ」の線の交差している点の(直)前後の2点間の傾きが分かれば、「ノ」の線がどれくらい急な角度で「、」の線を貫いてるかがわかりますよね?それが知りたいのです

667 :名無しさん@そうだ選挙にいこう:2020/04/16(Thu) 22:42:08 .net
>>666
もしかして元データから取るより簡単と思っているのか
そっちの方がめちゃくちゃ難しいと思うぞ

668 :名無しさん@そうだ選挙にいこう:2020/04/16(Thu) 22:46:10 .net
>>666
何度も言うけど、角度なんてグラフの大きさで変わるんだってば

ここに2つの折れ線グラフがあるけど、データはまったく同じで、グラフの大きさが違うだけ
2本の線の角度が全然違うだろ?
https://i.imgur.com/eBIPY2b.png

669 :名無しさん@そうだ選挙にいこう:2020/04/16(Thu) 23:25:11 .net
やろうとしてる事はExcelでも出来るだろうけど、そもそもやろうとしてる事が正しいか検討した方が良いと思う

670 :名無しさん@そうだ選挙にいこう:2020/04/17(金) 00:17:15 .net
>>666
防衛省の大ポカを再現しようとしてますね。
防衛省、実地調査せずグーグルアース使う 幹部が認める 朝日新聞DIGITAL 2019年6月8日
https://www.asahi.com/articles/ASM6864RMM68UBUB004.html
をご覧ください。
>>668さんの説明と同様、グラフの作り方でいかようにも表現できるのです。

求めるべきは、増加と減少のそれぞれの比率(パーセンテージ)ではありませんか?
あるときは A系列は+5%、B系列は−8% →差は13%
あるときは A系列は+7%、B系列は−3% →差は10% という感じです。

671 :名無しさん@そうだ選挙にいこう:2020/04/17(金) 00:36:44 .net
セルに入力した文字に対し、
先頭から5文字は赤色
6-10文字は青色
11字文字以降は黄色
といったように色分けしたいですが、どんな方法があるでしょうか。

672 :名無しさん@そうだ選挙にいこう:2020/04/17(金) 00:50:36 .net
>>671
入力したセル自体に複数の色を使いたいなら、手動でするかVBA使うしかない。
どうしても関数使ってやるとすれば、セルに分割するくらいしかない。
A列に元の数値、B列に最初の5文字、C列に6-10文字、というふうにして(left関数、mid関数などを使う)、B列は赤、という感じ。

673 :名無しさん@そうだ選挙にいこう:2020/04/17(金) 01:41:59.50 .net
>>671
たくさんのセルをまったく同じパターンで色分けするんなら書式の貼り付けで色だけコピーできる

674 :名無しさん@そうだ選挙にいこう:2020/04/18(土) 01:51:11 .net
なんかグラフ関連の話で荒れた後で申し訳ないですが質問です
excelのデータをもとに山と谷が二つずつある折れ線グラフを複数描いたとして、山も谷も切り上がっている状態のグラフを選別したい場合、数値をどのように参照したらいいでしょうか?

675 :名無しさん@そうだ選挙にいこう:2020/04/18(土) 08:45:50.50 .net
元データを参照するんじゃダメなんかい。

676 :名無しさん@そうだ選挙にいこう:2020/04/18(土) 09:21:33.54 .net
同じ値が連続しないなら前後の値と比較して大きければそこは極大

677 :名無しさん@そうだ選挙にいこう:2020/04/18(土) 09:22:31.71 .net
>>674
っていうかキミ、
「何のために」が不明だから
「何がしたい」の内容が
有用なのかどうか論理的にも怪しくて
回答する気なくなるんだよね

いったん他所で煮て来てもらっていいかな

678 :名無しさん@そうだ選挙にいこう:2020/04/18(土) 09:30:05.17 .net
>>646の回答に対してもレスポンスないし
正直消えろとしか回答できん

679 :名無しさん@そうだ選挙にいこう:2020/04/18(土) 09:46:36.02 .net
>674
もしかして株価チャート分析したい?

680 :名無しさん@そうだ選挙にいこう:2020/04/18(土) 10:07:51 .net
>672
>673
システムにコメント入力する仕事があって、
1行に5文字しか入力できない仕様になっています。
エクセルでコメントを入力して貼り付けすると楽なんですが、
単語が行を跨ぐと読みにくくなるので
エクセルで入力している段階で確認できる仕組みを考えていました。

なので色分けが必ずしも必要になるわけではなく、分割できるのならそれでなんとかなりそうです。
ありがとうございます。

681 :名無しさん@そうだ選挙にいこう:2020/04/18(土) 10:50:52 .net
>>679
その通りです、必要な情報かわからなかったのでわざわざ申し上げなかったですがまさか見抜かれるとは

>>676
なるほど??

682 :名無しさん@そうだ選挙にいこう:2020/04/18(土) 11:14:57 .net
>680
それだったら、入力する文字列を色分けするんじゃなくて、
一つ右の列にでも、入力文字数をカウントするセルを作ればいいのでは(len関数など)。
その数値を条件付き書式で色分けすればいい。
半角と全角をどう数えるかは、その5文字の仕様によって考える必要があるけど。

683 :名無しさん@そうだ選挙にいこう:2020/04/18(土) 11:48:38.88 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel365
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否


A1に「移動」という文字列が含まれた場合、
C1に「移動済」という文字列を末尾に挿入するにはどうすればいいでしょうか。
この時A1、C1ともに赤文字にしたいです。

   A1   |  B1  |   C1   |
 移動123  |      |○○移動済|


宜しくお願いします。

684 :名無しさん@そうだ選挙にいこう:2020/04/18(土) 11:50:01.36 .net
>>683
○○という文字列は別のところで入力する?

685 :名無しさん@そうだ選挙にいこう:2020/04/18(土) 12:02:06.24 .net
>>683
substituteで移動消して後ろに"移動済"付ける
条件付き書式で"移動"って入ってたら赤くする

686 :683:2020/04/18(土) 12:19:05 .net
>>684
直接入力です。

>>685
substitute関数・・・ちょっと調べてみます。

687 :名無しさん@そうだ選挙にいこう:2020/04/18(土) 12:21:47 .net
>>683
C1の内容に文字列を追加してC1に入れるのはVBAでないと無理

688 :名無しさん@そうだ選挙にいこう:2020/04/18(土) 12:47:46 .net
>>686
substitut関数と、
条件付き書式→書式→表示形式で
(@"移動済み")

とすると表示設定できる

689 :名無しさん@そうだ選挙にいこう:2020/04/18(土) 17:31:47.07 .net
普通に、D1に =IF(ISERROR(FIND("移動",A1)),"","移動済") じゃだめなのかな

690 :名無しさん@そうだ選挙にいこう:2020/04/19(日) 00:49:19.38 .net
>>689
末尾に足す

691 :名無しさん@そうだ選挙にいこう:2020/04/19(日) 07:27:59 .net
それが無理だから次善の策って話だろ
表示だけでいいなら>>688がいいと思う

692 :名無しさん@そうだ選挙にいこう:2020/04/19(日) 09:24:11 .net
>>689
この位でも苦手な人は苦手なんだよな。
苦手な人でもわかるように表を作るのって結構大変。

693 :名無しさん@そうだ選挙にいこう:2020/04/19(日) 09:36:50 .net
セルの書式設定→表示形式→ユーザー定義 で
平均数値計算値に“平均値;”という文字列表示を設定しましたが
この文字列をボールド表示する設定はどの様にするのでしょうか?

694 :名無しさん@そうだ選挙にいこう:2020/04/19(日) 09:42:43 .net
>>693
セルの書式設定

695 :名無しさん@そうだ選挙にいこう:2020/04/19(日) 10:11:11.57 .net
>>694
セル書式設定だと数字も含めて全部ボールド表示になるんですが
追加設定表示の“平均値 : ” だけボールドにしたいです。

696 :名無しさん@そうだ選挙にいこう:2020/04/19(日) 10:20:14.59 .net
“平均値”と書く列をわけて、その列だけ太字設定にする

その平均値と表示するだけのセルは
if(右のセル=“”、“”、“平均値:”)
とする

どうせデータ処理には使わんからいいでしょ

697 :名無しさん@そうだ選挙にいこう:2020/04/19(日) 11:20:35.68 .net
そんな列作るなら項目タイトルを平均値にすりゃいいじゃん…

698 :名無しさん@そうだ選挙にいこう:2020/04/19(日) 11:26:22.38 .net
印刷タイトル行を設定して、どのページの先頭にも 項目タイトルが表示できるのうになれば問題解決したりして

699 :名無しさん@そうだ選挙にいこう:2020/04/19(日) 22:09:12.43 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
番号で管理されている品物があります
例えば101はりんご203はバナナみたいな
ところがバナナには208や301という番号も付いてて2つ以上の番号があったりします
これを203で呼び出したら、バナナが208と301も持ってることを表示出来るようにしたいのですが
どんな方法がありますか?

700 :名無しさん@そうだ選挙にいこう:2020/04/19(日) 22:20:45.76 .net
>>699
countif($列$行:相対、品名)
を使うと重複登場がわかります

それからアンドでくっつけて、
1番目-品名
2番目-品名

というセル列をつくってから、横にIndex MATCH でひもづけ

701 :名無しさん@そうだ選挙にいこう:2020/04/19(日) 22:20:54.82 .net
>699
「バナナ」ではなく番号で呼び出すの?
まずは通常通り番号からバナナという名称を呼び出す
その後、バナナという名称を持っている番号を検索するしかないと思うけど。

番号からバナナを呼び出せているのなら、さほど難しくないと思うけど・・
え?

702 :名無しさん@そうだ選挙にいこう:2020/04/19(日) 22:30:07.86 .net
>>700-701
さっそくありがとうございます
後出しでスミマセン700さんのやり方で作成中なのですが
他に何かないかなーと

703 :名無しさん@そうだ選挙にいこう:2020/04/19(日) 23:18:17.49 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel 2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

Ctrlを押しながら選択すると複数のセルを選択できますが、間違えたセルを選択してしまった場合、そこだけ選択から外す事はできませんか?

704 :名無しさん@そうだ選挙にいこう:2020/04/19(日) 23:23:19.25 .net
もう一度クリックしてみ?

705 :名無しさん@そうだ選挙にいこう:2020/04/19(日) 23:24:33.24 .net
2016ではできない

706 :名無しさん@そうだ選挙にいこう:2020/04/19(日) 23:28:42.62 .net
>>704
クリックするたびに黒くなっていきます
>>705
2019にアップグレードしたらできるようになりますか?

707 :名無しさん@そうだ選挙にいこう:2020/04/19(日) 23:41:43.46 .net
{=IFERROR(SMALL(IF($B$3:$B$9999=$B1 , $A$3:$A$9999 , "") , COLUMN()-2))}
の様な感じの式を並べる

708 :名無しさん@そうだ選挙にいこう:2020/04/19(日) 23:43:20.90 .net
>>707>>699,702宛てです

709 :名無しさん@そうだ選挙にいこう:2020/04/19(日) 23:58:41.34 .net
>>708
あざーす!
{ }で括る式は良く分からないのですが、明日試してみます

710 :名無しさん@そうだ選挙にいこう:2020/04/20(月) 00:09:09.22 .net
>>706
2019ならできる

711 :名無しさん@そうだ選挙にいこう:2020/04/20(月) 00:20:18.00 .net
>>709
{ }は配列数式の意味なので、Ctrl+Enterして下さい。{ }自体の入力は不要です。

712 :名無しさん@そうだ選挙にいこう:2020/04/20(月) 14:20:35 .net
× Ctrl+Enter ○ Ctrl+Alt+Enter
ごめんなさい Alt抜けてた

713 :名無しさん@そうだ選挙にいこう:2020/04/20(月) 15:41:37 .net
=TEXTJOIN(",",,INDEX(REPT(A2:A99,B2:B99=D1),))

714 :名無しさん@そうだ選挙にいこう:2020/04/20(月) 18:15:52 .net
>>712
CSEな
ControlShiftEnter

715 :名無しさん@そうだ選挙にいこう:2020/04/20(月) 18:41:35 .net
>>714
いろいろとぼけてた。訂正ありがとー。

716 :名無しさん@そうだ選挙にいこう:2020/04/22(水) 00:54:26.04 .net
【1 OSの種類         .】 Win10
【2 Excelのバージョン   】 Excel2016か365
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
時刻データから、分の10ぷん台の値がほしい。
17:27(17時27分)なら、2が欲しい。

717 :名無しさん@そうだ選挙にいこう:2020/04/22(水) 01:01:54.76 .net
>>716
時刻データがシリアル値で入ってるなら =INT(TEXT(A1,"mmss")/1000)
文字列なら =INT(RIGHT(A1,2)/10)

718 :名無しさん@そうだ選挙にいこう:2020/04/22(水) 12:06:35 .net
Office2019がインストールされているノートPCを購入した。

デスクトップPCを購入し、Office365 Soloを購入し、インストールした。

この状態で、
ノートPCにもOffice 365 Soloをインストールできますか?
また、できる場合、デメリットとして考えられることってありますか?

719 :名無しさん@そうだ選挙にいこう:2020/04/22(水) 12:30:22 .net
MSに聞け

720 :名無しさん@そうだ選挙にいこう:2020/04/22(水) 15:48:15 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

あるブックだけ、VBAの編集画面で、常に半角カタカナがデフォルトになります。
これ、何が原因なのか、思い当たるものはありますでしょうか?

721 :名無しさん@そうだ選挙にいこう:2020/04/22(水) 17:40:39 .net
>720
・思い当たるものはございますか。
・思い当たるものはありますか。

表現が気になったので。
メールするような仕事であれば直したほうがいいですよ

722 :名無しさん@そうだ選挙にいこう:2020/04/22(水) 17:42:23 .net
例えば、「ありがとうございますです」と言っているようなものです。

723 :名無しさん@そうだ選挙にいこう:2020/04/22(水) 19:25:24 .net
作文添削教室はいいから

724 :名無しさん@そうだ選挙にいこう:2020/04/22(水) 20:13:05.05 .net
指摘できる俺すげー君だろ
下手に触ると暴れるからスルーしとけ

725 :名無しさん@そうだ選挙にいこう:2020/04/22(水) 20:19:26.38 .net
>724
スルーが大事だと思うのなら
黙っておくか、質問者の対応したほうがいいですよ

726 :名無しさん@そうだ選挙にいこう:2020/04/22(水) 21:20:50.06 .net
>>721
思い当たる節だろボケ指摘するなら真面目にやれやカス

727 :名無しさん@そうだ選挙にいこう:2020/04/22(水) 23:02:51 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

教えてください
VLOOKUPとかで他のブックのセルの値を参照させたいのですが
参照先のブックに読み取り用のパスワードがかかっている
状態だと関数では対応できないのでしょうか?

728 :名無しさん@そうだ選挙にいこう:2020/04/22(水) 23:39:19 .net
参照する時にパスワード聞いてくるだけで、
普通に対応できると思うけど。

729 :名無しさん@そうだ選挙にいこう:2020/04/23(Thu) 21:04:08 .net
初歩的質問です
excel2007で100%積み上げ縦棒を作るのに、凡例を縦棒の中に入れるにはどうすれば良いのでしょうか?

730 :名無しさん@そうだ選挙にいこう:2020/04/23(Thu) 21:19:50 .net
>>727
試してみたらわかる事をここで聞くのは時間の無駄。

731 :名無しさん@そうだ選挙にいこう:2020/04/23(木) 22:17:59.15 .net
>729
よくわからんがグラフを基準値と比較できるようにしたいということ?
グラフを2つ並べたいという意味であれば
「100 積み上げ縦棒 比較」でググれば色々でてくる

ググれば大抵の事は解決するし、
もしググり方が分からなければ、手書きで図でも添付したほうが伝わるぞ

732 :名無しさん@そうだ選挙にいこう:2020/04/23(木) 23:48:41.77 .net
>>731
単純に凡例の文字を縦棒グラフの中に入れて表示させたいだけです

733 :名無しさん@そうだ選挙にいこう:2020/04/24(金) 07:59:46 .net
>>655
単に微分して
(要は前のデータとの差)
プラスかマイナスか?
でいいのでは?

734 :名無しさん@そうだ選挙にいこう:2020/04/24(金) 09:57:25.82 .net
品番を入力すると品名が表示されるようにvlookで表を作りました
未入力のセルに表示される#n/aを消すのにiferrorを使ったのですが
これだと空白の時と間違った品番を入力した時どちらも空白のままです

未入力は空白、誤入力はエラー表示にさせるにはどんな数式にすればいいですか?

735 :名無しさん@そうだ選挙にいこう:2020/04/24(金) 10:20:34.69 .net
>>734
=IF(A1="","",IFERROR(VLOOKUP(A1,略),"誤入力"))

736 :名無しさん@そうだ選挙にいこう:2020/04/24(金) 11:17:40.39 .net
>>734
元の表の先頭に空文字(' のみ入力)仕込むのおすすめ
=VLOOKUP(""&A1 , 略 , FALSE) でいけるよ

737 :名無しさん@そうだ選挙にいこう:2020/04/24(金) 18:16:15 .net
VBA初心者です
以下のコードを標準モジュールに入力して試すと
1回目は問題なく入力に対応し別のセルも参照値を戻してくれんだけど
2回目は前の値がセルに残って参照値に置きかえらないのはなんででしょうか?

Sub vlookup_sample5()
With Worksheets("入力")
.Range("C3") = WorksheetFunction.VLookup(.Range("B3"), Worksheets("データ").Range("A3:C8"), 2, False)
End With
End Sub

難しくてわかりません
ご教授ください!

738 :名無しさん@そうだ選挙にいこう:2020/04/24(金) 18:38:00 .net
>>737
結果が前の値と同じだったとかじゃないの

739 :名無しさん@そうだ選挙にいこう:2020/04/24(金) 19:19:06.01 .net
>>707
これ、余分なスペース入ってる上に
スペース削っても結局使えませんでした。

740 :名無しさん@そうだ選挙にいこう:2020/04/24(金) 19:21:50.75 .net
>>738
違う値を入力してます
Do Loop
とか使わないとダメなんでしょうか

741 :名無しさん@そうだ選挙にいこう:2020/04/24(金) 19:35:12 .net
>>740
どういう実行の仕方をしてんの?

742 :名無しさん@そうだ選挙にいこう:2020/04/24(金) 19:44:15 .net
>>740
を変えたらマクロを再実行する

743 :名無しさん@そうだ選挙にいこう:2020/04/24(金) 21:24:57.72 .net
Option Explicit
Sub vlookup_sample5()
With Worksheets("表")
Worksheets("表").Range("C3") = WorksheetFunction.VLookup(Worksheets("表").Range("B10"), Worksheets("DB").Range("N1:O30"), 2, False)
End With
End Sub

コンボボックスで氏名を入力したらセルにシート(表)B10に氏名が打ちあがり
シート(表)B10に打ちあがった名前をシート(DB)のN1からN30までに入力してある名前の中から探し
見つかった列の横列すなわちO列から見つけシート(表)のC3に打ち上げたいのですが
1回目は打ちあがりますが2回目は変化しないで名前が変わりません

  N    O    P    Q    R ・ ・ ・ ・
1佐藤  佐藤隆
2田中  田中太郎
3三宅  三宅次郎
4阿久  阿久裕









.シート(表)に田中がコンボボックスから入力されたら
シート(DB)から対応する名前をO列から探し
シート(表)に返す

744 :名無しさん@そうだ選挙にいこう:2020/04/24(金) 21:25:53.14 .net
モノクロレーザーで交互色にしたいときは網掛けでしょうか?
網掛けにしてそこに文字うつと黒い粒で文字がわかりにくくなりますよね?

745 :名無しさん@そうだ選挙にいこう:2020/04/24(金) 21:26:17.71 .net
氏名じゃなかったです
氏でした
氏を入力したら氏名で打ちあがってほしいです

746 :名無しさん@そうだ選挙にいこう:2020/04/24(金) 21:27:30.51 .net
シート(表)に田中次郎と打ち上げたいです

747 :名無しさん@そうだ選挙にいこう:2020/04/24(金) 23:30:51 .net
教えてください

=VLOOKUP(B1,Sheet2!B3:I20,3,FALSE)

この Sheet2!B3:I20 の部分を

例えば、C1セルに Sheet2!B3:I20 と入力しておいて
それに置き換えることってできませんかね?
実際は参照先が他のブックなんですが、たまにファイル名が
変わるので、どこかのセルに参照先ブックのパスを入力して
それを元に参照させたいのですが

748 :名無しさん@そうだ選挙にいこう:2020/04/25(土) 00:00:03.40 .net
>>744
網の濃度は変更できる
読みやすいかどうかはプリンターの性能次第

749 :名無しさん@そうだ選挙にいこう:2020/04/25(土) 00:08:55.83 .net
>>747
・数式の参照先をindirect
・置換する
どちらかで可能
頻度によるので、実施あどういう環境科を教えて欲しい

750 :名無しさん@そうだ選挙にいこう:2020/04/25(土) 05:43:49.87 .net
>>747
indirect MATCH にしちゃおう

751 :名無しさん@そうだ選挙にいこう:2020/04/25(土) 17:30:24.57 .net
コンボボックスで氏名おしえてですが
自己解決しました

素人のとんでも質問にやさしく対応してくらた皆さんありがとうございました

チェックボックスをユーザーフォームに追記してそれと連動させました

752 :名無しさん@そうだ選挙にいこう:2020/04/25(土) 18:32:44 .net
>>739
SMALL関数は、文字列には対応してないので、番号が文字列で入ってると、あの式では無理ですね
恥の上塗りで、文字列キーにも対応版です
=IFERROR( INDEX($A$3:$A$9999 , SMALL( IF($B$3:$B$9999=$B1 , ROW($B$3:$B$9999) , "") ,  COLUMN()-2) -2) , "")
前回と同じく、Ctrl+Shift+Enterして下さい

前回は説明を省いたけど、
表がA3:B9999 、 2行目に項目名、 A1に検索番号入力、 B1にVLOOKUP式 、C3以右に上記の式を並べる 想定です
配列数式で検索対象の品物がある行の番号を並べ、 SMALL関数で昇順で内1つをCOLUMN関数で順番をずらしながら抽出し、 INDEX関数で番号を出しています
該当する品物が無い場合はSMALL関数でエラーが出るのでIFERRORで回避しています
9999では多すぎるので9ぐらいにして、数式の検証すれば、過程がわかると思います

753 :名無しさん@そうだ選挙にいこう:2020/04/25(土) 18:52:05.59 .net
excel シート表示するにチェックがあるのに
(オプション→詳細設定→水平スクロールバー表示する
チェック有、シート見出しを表示するチェック有)

シートと下カーソルが表示されません

どうすれば表示されますか?

754 :名無しさん@そうだ選挙にいこう:2020/04/25(土) 18:53:07.28 .net
753です
Excelは2010です

755 :名無しさん@そうだ選挙にいこう:2020/04/25(土) 19:13:41 .net
多分、Excel自体か、 子のウインドウが大きいんだと思う
ウインドウの整列してみればいいんじゃないかな

756 :名無しさん@そうだ選挙にいこう:2020/04/25(土) 19:58:55.74 .net
>>752
すみません。ご親切にありがとうございます。
でも何故コピペで使えない、不自然なスペースが入っているのでしょうか?

757 :名無しさん@そうだ選挙にいこう:2020/04/25(土) 21:06:25.97 .net
スペースがあったんだっけ。それじゃあ、これでどうだろ。前後のスペースはつぶせるはず。
=IFERROR( INDEX($A$3:$A$9999, SMALL( IF(TRIM($B$3:$B$9999)=TRIM($B1), ROW($B$3:$B$9999), ""), COLUMN()-2) -2), "")

758 :名無しさん@そうだ選挙にいこう:2020/04/26(日) 04:04:51 .net
>>755
解決しました
ありがとうございました

759 :名無しさん@そうだ選挙にいこう:2020/04/27(月) 13:55:00 .net
エクセル初心者のおっさんです
現場から事務職に配置変えのため解りやすいエクセル参考書を教えてw
沢山ありすぎるわw

760 :名無しさん@そうだ選挙にいこう:2020/04/27(月) 14:11:08 .net
前任者に訊いてよ、職場ごとのやり方ってもんがあるでしょ
引継ぎも無しに配置換えしたのなら上司にパソコン教室の料金出させるのじゃ
で、その稟議書をエクセルで作成すると却下されるから注意な

761 :名無しさん@そうだ選挙にいこう:2020/04/27(月) 16:33:45.57 .net
>>759
まずExcelのバージョンを調べて
それすらお手上げかどうかで選択肢が変わってくる

762 :名無しさん@そうだ選挙にいこう:2020/04/27(月) 18:50:20 .net
>>759
富士通からでてるのいいよ。fomってやつ。

763 :名無しさん@そうだ選挙にいこう:2020/04/27(月) 19:37:46.22 .net
富士通のはやめとけ
たぶんDB経験者のジジイが書いたんだろうけど、概念は間違ってないけど古い
はっきりいってアレが前提の信者が増えるのは迷惑

764 :名無しさん@そうだ選挙にいこう:2020/04/27(月) 19:39:06.48 .net
特に画面作りが最悪で見ただけで、ああ、富士通のクソだとわかるくらいクソ

765 :名無しさん@そうだ選挙にいこう:2020/04/27(月) 19:43:16.75 .net
一般操作もクソだけどVBAはさらにクソで日商とかの資格モノと並んでいつの時代の話だよってのを延々垂れ流してる
かえって手間かかる事を押し付けるだけのクソだから触れない方がいい

766 :名無しさん@そうだ選挙にいこう:2020/04/27(月) 19:44:29.02 .net
仕事で使う気が無くて資格コレクションしたいだけならオススメ

767 :名無しさん@そうだ選挙にいこう:2020/04/27(月) 19:56:30.67 .net
>>759
MOSの対策本が良い
FOMと日経があるけどどっちでもok
ちょっと高いけど、メルカリで買ってメルカリで売れば500円ぐらい
ついでにMOSもとっとけばok

768 :名無しさん@そうだ選挙にいこう:2020/04/27(月) 20:09:19.08 .net
>>759
初心者にはこれ!っていう定番はない
どれでもいいから本屋で実際に見てみて自分が興味湧いたものを買うのがいいと思う
気を付けるのは自分が使うExcelのバージョンに合ったやつを選ぶことぐらい

769 :名無しさん@そうだ選挙にいこう:2020/04/27(月) 21:31:42.63 .net
クソクソ言うなよwwwwwwwww

770 :名無しさん@そうだ選挙にいこう:2020/04/28(火) 03:22:42.07 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

チェックボックスを利用して複数条件のオートフィルタを動かすのはどうしたらいいのでしょうか?
たとえば、1〜6年生、1〜4組、男子 or女子、名前が記載された表があるとします。
チェックボックスを変更した際に表に複数条件のフィルタをかけたいです。
1年と3年、2組と4組、の男子などのようにしたいのですが、1年と3年にチェックを入れるとあとから選んだ3年だけみたいなフィルタになってしまいます。
どのようなコードにすればいいのでしょうか?

771 :名無しさん@そうだ選挙にいこう:2020/04/28(火) 03:37:02.77 .net
>>770
フィルタの条件が複数あるときは

AutoFilter Criteria1:=Array("1年", "", "3年", "", "", "")

みたいに書く
チェックが外れてるところは空文字列にすればいい

772 :名無しさん@そうだ選挙にいこう:2020/04/28(火) 03:50:49.22 .net
>>770
配列変数で書き直すとこんな感じ
チェックボックスを全部調べて変数値をセットすればいい

Dim gakunen(5) As String
gakunen(0) = "1年"
gakunen(1) = ""
gakunen(2) = "3年"
gakunen(3) = ""
gakunen(4) = ""
gakunen(5) = ""
ActiveSheet.Range("A1:Z99").AutoFilter Field:=1, Criteria1:=gakunen, Operator:=xlFilterValues

773 :名無しさん@そうだ選挙にいこう:2020/04/28(火) 11:26:31 .net
チェックボックスの状況によってそのチェックボックスの表示文字列を取得するだけなのですが
エラーが発生しています。
何が誤っているのでしょうか?
(根本的な別の方法があれば、それでもかまいません)
よろしくお願いいたします。

Dim Exhibitor(6) As String
For i = 0 To 6
If CheckBox(i + 1) = ture Then
Exhibitor(i) = CheckBox(i + 1).Caption
Else
Exhibitor(i) = ""
End If
Next i

774 :名無しさん@そうだ選挙にいこう:2020/04/28(火) 11:53:43 .net
>>773
フォームやコントロールの使い方がVBAとVBでは全然違うので、VBのサイトに書いてある方法ではエラーになる
ちゃんとVBAに対応したサイトの説明を見て
http://officetanaka.net/excel/vba/tips/tips44.htm

775 :名無しさん@そうだ選挙にいこう:2020/04/30(Thu) 13:46:31 .net
【1 OSの種類         .】Windows10
【2 Excelのバージョン   】 Excel2019
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
社名欄,日付1,日付2の様なシートがあり

そこに日付を記入すれば全体の工程表に反映される(該当欄に色が付く)タイプの工程表を条件付き書式で作成したいのですが

会社Aの工事日5/15,5/17,5/19、会社Bの工事日5/16,5/19,5/25の様に日が空く場合に反映させるにはOR関数で1つずつ条件設定するしかないでしょうか

776 :名無しさん@そうだ選挙にいこう:2020/04/30(Thu) 13:54:42 .net
>>775
そういうのは表の作り方次第だから、表の体裁が会社ルールで決まってるんでない限りは、条件の指定が簡単になるようにデータの並べ方などを工夫する

777 :名無しさん@そうだ選挙にいこう:2020/04/30(Thu) 14:01:45 .net
間に集計用のシートを挟んで
その内容を表示用シートに展開

表示用シートの条件つき書式の数式は
(自分のセルが何とかかれているか?)
だけにする

条件付き書式の数式はとにかく簡単にする

778 :名無しさん@そうだ選挙にいこう:2020/04/30(木) 15:26:52.22 .net
簡単なことかもしれませんが、慣れておらずお助けいただきたいです。

【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 office365
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

100%積み上げ横棒のグラフでデータラベルをグラフの真上に配置したいのですが、ラベルの位置で外というのがありません。
これはグラフの内側にしか配置できないのでしょうか?
矢印図形などで手動で配置していこうかとも思いましたが、グラフに使えるスペース的に厳しそうです。

テキストボックスでひとつひとつ配置していくしかないですか?

779 :名無しさん@そうだ選挙にいこう:2020/04/30(木) 15:39:21.18 .net
>>776
>>777
シート1(印刷用)
シート2(条件付き書式用)
シート3(日付記入欄)
みたいに作る感じでしょうか
エクセル工程表はネット上にゴロゴロあるのに飛び日を纏めるだけで調べても出なくなって辛い

780 :名無しさん@そうだ選挙にいこう:2020/04/30(木) 15:47:54.60 .net
>>779
とりあえず、現在の状態をスクショして晒してみ?
こういうふうになって欲しい、っていう希望の状態を手作業で作ってもいいし
それ見て自動化できるかどうか考えるから

781 :名無しさん@そうだ選挙にいこう:2020/05/01(金) 06:52:59.38 .net
>>778
グラフをコピーして少し上に配置し、データラベル以外を透明にする

782 :名無しさん@そうだ選挙にいこう:2020/05/01(金) 18:49:00.96 .net
example="https://exampleexample";
このような行が複数あるリストから
hからeまでのURLを抽出して一覧にする方法はありますか?
URLの文字数は変化します。
mid関数を見つけましたが、文字数を指定しなければいけないことと
"を開始と終了の文字として指定出来るのか疑問です。
分かる方がいましたら教えてください。

783 :名無しさん@そうだ選挙にいこう:2020/05/01(金) 19:22:26.67 .net
>>782
=SUBSTITUTE(MID(A1,10,99),""";","")

784 :名無しさん@そうだ選挙にいこう:2020/05/01(金) 23:15:16.93 .net
>>783
ありがとう。
試してみたんだけどエラーでした。
なんでだろう。。

785 :名無しさん@そうだ選挙にいこう:2020/05/02(土) 00:07:04.46 .net
>>784
これは?これがエラーになるんなら、「このような」の例が適切じゃない
=SUBSTITUTE(SUBSTITUTE(A1,"example=""",""),""";","")

786 :名無しさん@そうだ選挙にいこう:2020/05/02(土) 00:13:58.54 .net
>>784
数式の使い方とか間違えてない?
http://imgur.com/jcwBw4f.png

787 :名無しさん@そうだ選挙にいこう:2020/05/02(土) 01:01:41.94 .net
>>784
これは?
=MID(A1,FIND("""",A1)+1,LEN(A1)-FIND("""",A1)-2)
https://i.imgur.com/ddqKATn.png

788 :名無しさん@そうだ選挙にいこう:2020/05/02(土) 07:49:27.44 .net
>>785->>787
783含め3つの式で上手くいきました!
Openofficeで試してて関数の互換性は確認してたんですが
カンマをセミコロンに変えていなくてエラーが出てました。
お騒がせしました。教えてもらった関数の構成詳しく調べてみます。
ホントに助かりました。ありがとうございます。

789 :名無しさん@そうだ選挙にいこう:2020/05/02(土) 10:24:50 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

ご教授お願いします。
売価変更を自動計算して合計金額に反映される表を作成しようと思ってます。

行に品番、列に価格を入力しているのですが、売価変更する毎にその数字を参照するような表を作成したいです。
単価×枚数(変動なし)なのですが例えば1000,900,870など任意に単価変動させた場合、A1の品番がB2,B3,B4...と値下げをし更新していく度にB列の新しい単価が入力されたセルを参照するやり方がわかりません。

790 :名無しさん@そうだ選挙にいこう:2020/05/02(土) 11:49:50.86 .net
>>789
列の一番下が最新単価?
一番上なら参照できるけど

791 :名無しさん@そうだ選挙にいこう:2020/05/02(土) 12:06:58.93 .net
>>789
絶対に値上げはしなくて値下げだけならMIN関数で一番安い数字を取り出せるけど

792 :名無しさん@そうだ選挙にいこう:2020/05/02(土) 12:27:04.44 .net
>>789
=枚数*INDEX(範囲,MATCH(MAX(範囲)+1,範囲,1))
範囲は値下げが更新されるB列

793 :名無しさん@そうだ選挙にいこう:2020/05/02(土) 16:41:09 .net
>>789
A1の品番の単価の置き場所がB2,B3,B4...だとすると、A1以外の品番だとどこに置くんだろう?
B1,C1,D1... ならわかるけど

794 :名無しさん@そうだ選挙にいこう:2020/05/02(土) 22:55:39.88 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
↑このテンプレが何かモヤってたんだけど、やっとわかった。

Dim a as Long
Dim b as String
Dim c as Integer
Dim d as Variant
↑俺、いつもこう書かないで、

Dim a as Long, b as String, c as Integer, d as Variant
↑こう書いていたからだ。

というわけで、Windows10, Excel2016, いいえ, 否 でよくないっすかねぇ?

795 :名無しさん@そうだ選挙にいこう:2020/05/02(土) 23:11:13.24 .net
>>794
いいっすよ〜

796 :名無しさん@そうだ選挙にいこう:2020/05/02(土) 23:22:37 .net
>>794
OSとバージョンは並べてもいいけど、「いいえ、否」ではなんのことかわかlihe
こういうのを可読性が下がる、と言うのではないか

あと、人に見せない前提で文字数を減らしたい時は俺ならこう書く
Dim l&, s$, i%, v
整数型はi、j、文字列変数ならs、t、行・列はr、cって自分ルールを作ってある

797 :名無しさん@そうだ選挙にいこう:2020/05/02(土) 23:28:48 .net
(そもそも宣言しない派)

798 :名無しさん@そうだ選挙にいこう:2020/05/02(土) 23:42:14 .net
>>794
自分が使うだけならともかくそれをテンプレの回答に使えってのはわかりづらすぎ

799 :名無しさん@そうだ選挙にいこう:2020/05/02(土) 23:46:41 .net
msゴシック以外ですべての文字の幅が同じフォントってある?

800 :名無しさん@そうだ選挙にいこう:2020/05/03(日) 00:04:08.85 .net
>>799
いくらでもある

801 :名無しさん@そうだ選挙にいこう:2020/05/03(日) 01:33:22 .net
人に見せるもので自分がわかればいいという思考をするやつは仕事できない

802 :名無しさん@そうだ選挙にいこう:2020/05/03(日) 03:37:38.19 .net
>>794
問題意識を持つのはいいことだけど
いかんせん解決センスが無さすぎてだね君

803 :名無しさん@そうだ選挙にいこう:2020/05/03(日) 07:07:48 .net
>>800
そうなんだ
おすすめの見易いフォントある?
0に斜線が入るとなおいいんだけど

804 :名無しさん@そうだ選挙にいこう:2020/05/03(日) 08:13:59.90 .net
「等幅フォント」で検索をかけてみよう

805 :名無しさん@そうだ選挙にいこう:2020/05/03(日) 08:53:48.89 .net
>>803
まず0に斜線の入るフォントが少ないから、見やすさにはこだわらない方がいい
無難なのはIPAゴシック
ただし斜線が入るのは半角の0だけ、全角には入らない

806 :名無しさん@そうだ選挙にいこう:2020/05/03(日) 10:30:21 .net
そうだよな。0に斜線入れないとOCR誤認するしな。

807 :名無しさん@そうだ選挙にいこう:2020/05/03(日) 10:31:10 .net
あ、入れたら入れたで8と誤認するか。

808 :名無しさん@そうだ選挙にいこう:2020/05/03(日) 11:33:37 .net
検索して出てきた myricaというの見出しと本文に導入したらめっちゃ見やすくなった
https://i.imgur.com/vUKdZaT.jpg

809 :名無しさん@そうだ選挙にいこう:2020/05/03(日) 11:46:07 .net
今どきどんなショボイOCR使ってるんだよw

810 :名無しさん@そうだ選挙にいこう:2020/05/03(日) 11:54:28 .net
OCR前提はないかな
>>808みたいに人間のみやすさ重視フォントは良いと思う。俺も入れてみる

811 :名無しさん@そうだ選挙にいこう:2020/05/03(日) 12:04:09 .net
<<810
そのものズバリOCR-Bというフォントがあるんだけど、英数字しか入ってない上、ゼロとオーがほとんど区別できない

812 :名無しさん@そうだ選挙にいこう:2020/05/03(日) 13:31:04 .net
コーディング特化のフォントを探すといい
0だけでなく1や濁点半濁点の区別をしっかり付けてるフォントは使いやすい

813 :名無しさん@そうだ選挙にいこう:2020/05/03(日) 13:34:31 .net
>>811
> ゼロとオーがほとんど区別できない
それはさすがに眼科に行けレベルだわ
https://i.imgur.com/tPvq98f.jpg

814 :名無しさん@そうだ選挙にいこう:2020/05/03(日) 13:56:54 .net
眼科で済まないから0に斜線入れる文化があるんだよ

815 :名無しさん@そうだ選挙にいこう:2020/05/03(日) 14:08:58 .net
ゼロの中にナカポツがあるのはかっこいい

816 :名無しさん@そうだ選挙にいこう:2020/05/03(日) 14:16:11 .net
これ、個人的にはゼロとオー逆な気がする
ゼロは縦長、オーは円に若干近いイメージがあるのに

817 :名無しさん@そうだ選挙にいこう:2020/05/03(日) 20:23:27.91 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2019
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

ExcelとXmlの対応付けって、どういう状況で使うんでしょうか?
VBAの開発効率があがるのなら使いたいんですが。

818 :名無しさん@そうだ選挙にいこう:2020/05/03(日) 21:25:10.68 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否


質問です
19|20|2|30|3|1|3
20|5|1|19|4|1



というのがずっと続いてる表の中で、行の最初の2つの数字の合計と後ろ4つの数字の合計が合わないデータを探したい時はどうすればよいのでしょうか?
関数の検索行列の分類を見たのですがどれを使いどうすればいいのか全く分かりませんでした…

819 :名無しさん@そうだ選挙にいこう:2020/05/03(日) 21:36:16.63 .net
>>818
2行目の後ろ4つってどれ?

820 :名無しさん@そうだ選挙にいこう:2020/05/03(日) 21:42:15.60 .net
>>818
sum関数を2つ使って比較するのでは?
g列に、=sum(a1,b1)=sum(c1,d1,e1,f1)

みたいな感じで。

821 :名無しさん@そうだ選挙にいこう:2020/05/03(日) 21:45:43.42 .net
左に6列、列の追加を行う
6列目はcountaとかで数が入っているセルの数を数える
5列目にindirectを使って、自分の場所から、横にcountaの数を動いて取ってくる
4列目にも同じ関数を仕込む…

というのをやって、5〜2列に後ろ4セルの数字を持ってくる

で、サムしてifする

822 :名無しさん@そうだ選挙にいこう:2020/05/03(日) 22:39:18.99 .net
>>813
フォントスレにでも行ってくれ

823 :名無しさん@そうだ選挙にいこう:2020/05/03(日) 23:17:08 .net
色々ありがとうございます!
申し訳ないですが>>820これなら私でも理解できたのでこれでいこうと思います
間違っていればそこはエラーが出るからそれで分かるという事ですね
発想いいですね

824 :名無しさん@そうだ選挙にいこう:2020/05/03(日) 23:42:58 .net
>>823
if関数使って、

=if(sum(a1,b1)=sum(c1,d1,e1,f1),"OK","NG")

みたいにもできます。参考までに。

825 :名無しさん@そうだ選挙にいこう:2020/05/03(日) 23:49:44 .net
>>823


19|20|2|30|3|1|3

の、場合だと

19+20で 39
2+30+3+1=36
になってNGとかでいい?

826 :名無しさん@そうだ選挙にいこう:2020/05/04(月) 00:00:23 .net
その場合の後ろ4つて30+3+1+3=37じゃないの?

827 :名無しさん@そうだ選挙にいこう:2020/05/04(月) 00:15:55.41 .net
つまり、データが6つあるときと、7つのときがあるということ?
if、sum、count関数くみあわせなきゃ。

828 :名無しさん@そうだ選挙にいこう:2020/05/04(月) 06:20:46.11 .net
まず、左端に作業列を挿入する

次に、全体の最終列がどこなのか調べる
列ラベルをドラッグしながらステータスバーの合計欄を見て、数字が増えなくなったら、そこが全体の最終列
今後の為にもう少し余裕を見てもいいし、調べるのが面倒ならCZ列位の大きすぎる列にしてもいいよ


あとは、左端に挿入した列に、数式を入れる

各行の不足列は空欄になっているはずだから、COUNTBLANKで空欄を数えれば、各行の最終列が割り出せる
(空欄ではなくスペース文字が入ってたりすると計算が狂うから、その場合はスペース文字を置換する
途中に空欄が入ってる場合も狂うけど、その場合は個別対応する)

最終4列は、OFFSETを使えば出せるから、例えば全体の最終列がZの場合は
=SUM(B1:C1) - SUM(OFFSET(Z1, 0 , -COUNTBLANK(B1:Z1), 1, -4) )
の様な感じにすればいいよ

個人的には、もう少し作業列を増やして、2つのSUMと比較式を別々の列に入れた方が後々メンテしやすいとは思う

829 :名無しさん@そうだ選挙にいこう:2020/05/04(月) 08:22:15.60 .net
この行にはデータいくつありますよ
というのを表示した列は欲しい

830 :名無しさん@そうだ選挙にいこう:2020/05/04(月) 09:41:49.51 .net
データ数はCOUNTAで調べられるからわざわざ作業列に入れるほどの物でもない

831 :名無しさん@そうだ選挙にいこう:2020/05/04(月) 12:56:29 .net
> 後ろ4つの数字
>>818は
・後ろに続く4つの数字
・最後の4つの数字
のどっちなのかを示してほしい

832 :名無しさん@そうだ選挙にいこう:2020/05/04(月) 16:09:43.09 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

担当者をプルダウンで選んだ結果でフィルタリングするのに
下記VBAを見つけましたが

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$1" Then Exit Sub
Sheets("Sheet1”).Activate
Selection.AutoFilter Field:=4, Criteria1:=Target.Value ←D列でフィルタリングしたい
End Sub

1.担当者と同時に「合計」の値でもフィルタリングしたい
 (一番下に合計の行がある)

2.これでフィルタリングするとプルダウンリストではフィルタリング前に戻せなくなるので
 プルダウンリストの選択肢に例えば「全て」を作っておき
 全てを選ぶと全てと上記の「合計」でフィルタリングしたい

どうすればよろしいでしょうか

833 :名無しさん@そうだ選挙にいこう:2020/05/04(月) 16:11:31.51 .net
>>780
作りたいのはこんな感じの工程表です
実際は3ヶ月分必要なので、間違いを減らすため日付を入力したら色が着く様にはしたいです
https://i.imgur.com/yyZ8uXT.jpg

834 :名無しさん@そうだ選挙にいこう:2020/05/04(月) 16:18:44.83 .net
>>818
ここまで出ている依頼者への質問と、自分からの疑問点をまとめると
質問1:行により最終列がバラバラということですね?(>>181の1件目の例は7列、2件目の例は6列)
質問2:質問文中の「最初の2つの数字」と「後ろ4つの数字」が重複することはありますか?
     (例では7列と6列でしたが、5列以下だと重複します。)
質問3:途中に空白セルはありますか?
     途中に空白セルがある場合、空白のときはゼロとみなして判定していいということですか?
     それとも、空白セルを除いて「最初の2つの数字」や「後ろ4つの数字」を計算対象にすべきですか?
質問4:「最初の2つの数字」の最初とは、A列固定で間違いないですか?(質問3と関連)
    つまり、A列が空欄の場合、B列、C列の数字を「最初の2つの数字」とするのでしょうか?

835 :名無しさん@そうだ選挙にいこう:2020/05/04(月) 16:22:19.67 .net
>>833
業者1が工程1と11を担当する…という情報はどこで入力?

836 :名無しさん@そうだ選挙にいこう:2020/05/04(月) 16:28:32.05 .net
>>835
No〜階数までは客が別資料で送付(業者と階数は自分で打つ事もある)って感じです

837 :名無しさん@そうだ選挙にいこう:2020/05/04(月) 17:15:51.40 .net
>>832です
質問1は4行目を下記にして自決しました

Selection.AutoFilter Field:=4, Criteria1:=Target.Value, Operator:=xlOr, Criteria2:="合計"

838 :名無しさん@そうだ選挙にいこう:2020/05/04(月) 17:30:37.51 .net
>>832です
すみません、下記で全て自決しました

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$C$1" Then Exit Sub
Sheets("Sheet1”).Activate
If Target.Value = "全て" Then
ActiveSheet.ShowAllData
Else
Selection.AutoFilter Field:=4, Criteria1:=Target.Value, Operator:=xlOr, Criteria2:="合計"
End If
End Sub

839 :名無しさん@そうだ選挙にいこう:2020/05/04(月) 19:07:40.30 .net
>>838です
すみません、自決してませんでした

「全て」を選んだ後、再度「全て」を選ぶと下記エラーが表示されます

実行時エラー ‘1004’:
Worksheet クラスの ShowAllData メソッドが失敗しました

回避ふる方法ありませんでしょうか

840 :名無しさん@そうだ選挙にいこう:2020/05/04(月) 19:25:23.59 .net
>>839
オートフィルターを使う時は無条件に最初一回解除するんだ
その後、全て以外の時に絞り込みを行うようにすると良い

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address <> "$C$1" Then Exit Sub

On Error Resume Next
ActiveSheet.ShowAllData
On Error GoTo 0

Sheets("Sheet1").Activate
If Target.Value <> "全て" Then
Selection.AutoFilter Field:=4, Criteria1:=Target.Value, Operator:=xlOr, Criteria2:="合計"
Else
'なにもしない
End If
End Sub

841 :名無しさん@そうだ選挙にいこう:2020/05/04(月) 21:22:28 .net
>>839
フィルタかかってないのにやろうとするからエラーになる
フィルタかかってる時だけやるようにすればよい

842 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 00:04:12 .net
>>840-841
>>839です
ありがとうございました840さんのコピペしてできまた
エラーだったら次の行にという処理があるんですね
勉強になりました

843 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 00:38:10 .net
>>818ですけどなんか色々惑わせてしまってたようで申し訳ないです…
行にデータは6つです
数えたら確かに1行目に数字7つありましたね、ただのミスです申し訳ない

844 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 00:44:25 .net
>>843
A〜F列に数字が入ってるとして、どこか空いてる列に
=(A1+B1)-(C1+D1+E1+F1)
という式を入れたら、答えが0以外なら不一致

845 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 00:45:09 .net
>>839です
複数のプルダウンからフィルタリングできるようにしようと思って
このようにしたのですが、

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address <> "$D$1" Then GoTo L1

On Error Resume Next
ActiveSheet.ShowAllData
On Error GoTo 0

Sheets("Sheet1").Activate
If Target.Value <> "全て" Then
Selection.AutoFilter Field:=4, Criteria1:=Target.Value, Operator:=xlOr, Criteria2:="合計"
Else
'なにもしない
End If

L1:
If Target.Address <> "$E$1" Then Exit Sub

On Error Resume Next
ActiveSheet.ShowAllData
On Error GoTo 0

Sheets("Sheet1").Activate
If Target.Value <> "全て" Then
Selection.AutoFilter Field:=5, Criteria1:=Target.Value, Operator:=xlOr, Criteria2:="合計"
Else
'なにもしない
End If

End Sub

この場合4列目D列でフィルタリングした時に5列目E列のフィルタリングはリセットされます
それは良いのですがプルダウンで選択したもう片方のほうが
前回選んだ値が表示されたままになっているので「全て」に書き換えるようにしたいです
どうすればよろしいでしょうか

846 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 07:53:28 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

階層1:大量のフォルダ(※1。数は100程度)
階層2:上記※1にちょくちょく入っているフォルダ(※2)、エクセルデータ、メモ、ワード、pptなど
階層3:上記※2内にあるエクセルデータ、メモ、ワード、pptなど

この大量データをエクセルに抽出したいのですが、これはどのような方法がありますでしょうか?
何が入っているか?をデータ化する予定です
一つ一つハイパーリンク作るのは尋常じゃない時間がかかるなと思い。

847 :846:2020/05/05(火) 07:58:29.44 .net
@地道に入力作業(現在のやり方がコレ。大量のフォルダを作成するマクロは理解しているが、
フォルダを「抽出」する方法は知らないのと更新があった場合対応出来ない)
AVBAでしか無理
Bその他

Aの場合ならVBAの勉強開始する予定です
Bの場合ならこういう方法は?とご提案頂ければ嬉しいです。

848 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 08:03:57.52 .net
>>845
配列は覚えてね

Private Sub Worksheet_Change(ByVal Target As Range)

Application.EnableEvents = False '自動イベントをオフにする。オフにしないと無限ループになる
Sheets("Sheet1").Activate 'selectなどは最初にしておいたほうが良い

'条件が複数になりそうなら配列で管理すると楽ちん
target_address = Array("$D$1", "$E$1") 'ここで指定
flg = False
For Each c In target_address
If Target.Address = c Then
flg = True
Exit For
End If
Next

849 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 08:04:09.07 .net
>>848
の続き

If flg Then 'main

'リセット
On Error Resume Next
ActiveSheet.ShowAllData
On Error GoTo 0

'他の見出しを「全て」に
For Each c2 In target_address
If Target.Address <> c2 Then
Range(c2).Value = "全て"
End If
Next

If Target.Value <> "全て" Then '全ての場合は何もしない
Selection.AutoFilter Field:=Target.Column, Criteria1:=Target.Value, Operator:=xlOr, Criteria2:="合計"
End If

End If

'自動イベントを戻す
Application.EnableEvents = True

End Sub

850 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 08:05:45.58 .net
コマンドプロンプトから
tree /f
を実行して結果をエクセルに取り込んで整形

851 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 08:06:00.09 .net
>>841
> フィルタかかってる時だけやるようにすればよい
意外と面倒なんだな、これが
https://www.papasensei365.info/entry/2020/04/16/070000

852 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 08:07:45.73 .net
>>850>>847へのレス

853 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 08:09:43.61 .net
>>846
ファイル名ぐらいならvbaで瞬殺だけど、中身となると基本無いような
今丁度テレワーク流行ってるし在宅の人にのんびりやってもらうのはいかがかな

854 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 08:13:37 .net
>>852-853
ありがとうございます
中身は個々で確認していくしか無いでしょうね

855 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 08:19:35 .net
>>854
treesizefree
ってソフトがある
今回の件だと容量ぐらいしかみれないけど、割と便利なので使ってみて

856 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 08:55:52.75 .net
win10なら普通にエクスプローラーで中身の文字列検索できるけどそれとは別の用途?

857 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 09:01:47.67 .net
昔保存したファイルを一覧にして、不要なものを削除・・・とかそういったことしたいんじゃないの

858 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 09:27:16.67 .net
>>846
一覧表をどんな形式で作りたいかによるけど
コマンドプロンプトを使えばファイルの一覧は一発で作れる

Sub File_List()
  Dim WSH
  Dim wExec
  Dim cmd As String
  Dim Result() As String
  Set WSH = CreateObject("WScript.Shell")

  ChDir "C:\Windows\fonts" 'このフォルダの一覧を出したい

  Set exec = WSH.exec("cmd /c dir /s /b ")
  Result = Split(exec.StdOut.ReadAll, vbCrLf) '一覧を配列に取り込む
  For r = 0 To UBound(Result)
    Cells(r + 1, 1) = Result(r) '結果をワークシートに書き込む
  Next

  Set wExec = Nothing
  Set WSH = Nothing
End Sub

859 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 09:32:32.88 .net
ファイル名の横にフルパスも出すようにしたらハイパーリンク関数使える

860 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 09:56:01.20 .net
>>858はフルパスが出るから、ファイル名や種類(拡張子)だけ欲しい時は記号で区切る必要がある

861 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 10:07:14 .net
>>848-849
>>845です
なるほど
セルが変更された時に反応するマクロの途中でセルを「全て」に書き換えようとするから無限ループになるのですね
想定してた動きになりましたけどFor〜の使い方はまだ分からないので勉強しようと思います
ありがとうございました

862 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 10:15:39 .net
>>848-849
>>845です
たびたび、すみません
フィルタリングされる時の再計算を止めようと
教えていただいた>>848-849の

2行目 Application.Calculation = xlCalculationManual
End Subの上 Application.Calculation = xlCalculationAutomatic

を追加したのですが画面左下に再計算と表示されます
追加する前より処理がやや速くなった気がするのですが
上記で再計算は止まっているのでしょうか

863 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 10:31:06 .net
>>862
止まっている
ただ、設定をしただけなので最後に再計算していない

Application.Calculation = xlCalculationAutomatic
calculate '再計算の指示
endsub

ただフィルター掛けるだけなんで最後に再計算別にしなくてもいいと思うけど、
(subtototalとかは影響するけど)
気持ち悪いならcalculate一行入れると消えるはず

864 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 10:32:15 .net
>>860
ほんとだ
じゃあ¥の数を数えて最後の¥から後ろをmidで取り出す関数だな

865 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 10:56:23 .net
>>863
それが不思議なことにxlCalculationManualで再計算ストップしているはずなのに
一番下の合計欄でSUMIFSしてるのですがフィルタリングされて見えている数値だけの合計に再計算されているんです

866 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 11:01:49 .net
>>865
じゃあendsubの後に再計算していると思う
あまり深く探っても意味ないぞ

不安でどうしても知りたいなら、めちゃくちゃ重いデータを作って検証してみると良いかもしれない

867 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 14:26:28 .net
>>851
こんな落とし穴あったのか
過去にテーブルが使われてるブックでFilterModeでチェックしてるマクロを作った気がする…

>>853
テレワークは出社しないってだけで暇じゃないんだが

868 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 14:28:06 .net
>>864
頭から数えるのではなく最後から数えて1つ目

869 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 14:34:57 .net
>>868
何回出てくるかわからない¥を右から数えて切り出すにはどうしたらいいんですか

870 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 14:58:14 .net
>>869
excel 関数 find 右から
とかで検索すれば出てくるよ。どれが合ってるかはわからん

871 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 16:01:56.91 .net
>>869
方法1つじゃないから調べて好きなの使え

872 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 16:10:00.92 .net
>>867
身支度や通勤の分で1日3時間以上浮いてる
通勤は体力も持ってかれるし、おかげでけっこうヒマ

873 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 16:16:26.31 .net
フルパスからファイル名だけ切り取る
=MID(A1,FIND(">",SUBSTITUTE(A1,"\",">",LEN(A1)-LEN(SUBSTITUTE(A1,"\",""))))+1,255)

874 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 16:17:44.18 .net
ファイル名に絶対入っていない文字に置換すれば確実か

875 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 16:40:37.84 .net
絶対入っていない文字ってのが曲者でなぁ。なんか無いもんかね

876 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 16:48:31.54 .net
>>875
MS-DOSの名残で使用禁止の文字がある
具体的には : / ? * < > | " の8文字

877 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 16:49:54.83 .net
ファイル名に使えない
半角の>を使ってる>>873が賢いと思う

もっと言えば条件式にも使えない
半角の│がいい?

878 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 16:53:56.37 .net
>>876-877
あーそういう風に考えるのか、勉強になったわ
|はorのような気もするけど、エクセルなら大丈夫そう。なんとなくパイプの方が良い気はする

879 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 16:54:09.29 .net
Splitの区切り文字に\を指定して、できた配列の一番最後でいいぞ

880 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 17:04:16.05 .net
なおしてみた

Sub test()
  Dim WSH
  Dim wExec
  Dim cmd As String
  Dim Result() As String
  Dim temp() As String
  Set WSH = CreateObject("WScript.Shell")

  ChDir "C:\Windows\fonts" 'このフォルダの一覧を出したい

  Set exec = WSH.exec("cmd /c dir /s /b ")
  Result = Split(exec.StdOut.ReadAll, vbCrLf) '一覧を配列に取り込む
  For r = 0 To UBound(Result) - 1
    Cells(r + 1, 1) = Result(r) '結果をワークシートに書き込む
    temp = Split(Result(r), "\")
    Cells(r + 1, 2) = temp(UBound(temp)) 'ファイル名
    temp = Split(Result(r), ".")
    Cells(r + 1, 3) = temp(UBound(temp)) '拡張子
  Next

  Set wExec = Nothing
  Set WSH = Nothing
End Sub

881 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 17:08:09.73 .net
=SUBSTITUTE(RIGHT(SUBSTITUTE(A1,"\",REPT("\",LEN(A1))),LEN(A1)),"\","")
ファイル名の最初と最後に空白がないなら
=TRIM(RIGHT(SUBSTITUTE(A1,"\",REPT(" ",LEN(A1))),LEN(A1)))

882 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 18:01:18.22 .net
>>869
InStrRev

883 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 18:52:10 .net
>>872
本来かけるべきでない長時間通勤という無駄に対して「浮いた」と感じるのは仕事に飼いならされて麻痺しているからだ…

884 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 19:58:16.34 .net
>>873
FilesystemObjectを使った方がいいと思う
http://officetanaka.net/excel/vba/filesystemobject/filesystemobject18.htm

885 :名無しさん@そうだ選挙にいこう:2020/05/05(火) 20:10:03.66 .net
簡単に済むことを手間かけてするな

886 :名無しさん@そうだ選挙にいこう:2020/05/06(水) 00:19:04 .net
自分しか使わないから動けばいい程度で作り始めたものの、気が付いたら色々機能追加してる
あると思います

887 :名無しさん@そうだ選挙にいこう:2020/05/06(水) 10:08:34 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

VBAで例えばSheets(“Sheet1”).Activateと指定すること多いですが
使用者が勝手にシート名を変更するとそのシートが無いのでエラーになります
シート名他シートの並び順等勝手に変えられても動作するようにできないでしょうか

888 :名無しさん@そうだ選挙にいこう:2020/05/06(水) 10:37:21 .net
>>887
特定位置のセルに特定の文字列があるかどうかを
Set カレントシート = Nothing
For each シート in WorkSheets
  If シート.Range(判定セルアドレス).Value = 特定文字列 Then
    Set カレントシート = シート
    Exit For
  End If
Next
でブックを該当するシートが見つかるまで調べるぐらいかな?
見つからなければカレントシートはNothingのまま。
条件は当該ブックにひとつだけ該当するように。
シートの保護を利用して変更できないようにするのが望ましい。
これぐらいかなあ。

889 :名無しさん@そうだ選挙にいこう:2020/05/06(水) 10:46:51 .net
>>887
ワークシートのCodeName (オブジェクト名) なら勝手に変更される可能性は低くなるから、たいがいはこれで十分
VBAにパスワードをかけて保護しとけばまず大丈夫
それがだめならシートの内容で判断するぐらいしか方法がない

890 :名無しさん@そうだ選挙にいこう:2020/05/06(水) 12:03:50.34 .net
>>888-889
ありがとうございました
889さんの方法が簡単なのでこれにします

891 :名無しさん@そうだ選挙にいこう:2020/05/06(水) 12:34:48.19 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

日本語環境で作成したVBA入りのExcelファイルを中国語PC等日本語以外のPCで
開くとVBAを実行した時にVBAで表示させる日本語が文字化けしてしまいます
各シートの日本語は正常に表示されているのでVBAの日本語だけが文字化けしていると思われます
VBAは多言語で利用できないのでしょうか

892 :名無しさん@そうだ選挙にいこう:2020/05/06(水) 13:16:41 .net
>>891ですが自決しました
VBAで日本語表示させたい部分はシートに記述しておいてVBAから参照したら文字化けしなくなりました

893 :名無しさん@そうだ選挙にいこう:2020/05/06(水) 14:58:56.21 .net
>>892
ご冥福をお祈りします

894 :名無しさん@そうだ選挙にいこう:2020/05/07(Thu) 13:31:30 .net
値のみの減算コピーをよく使うのでマクロボタンに登録して使っていました。
EXCEL2013までは下記のマクロで使えたのですが、2019ではセルを指定していないと実行時エラーが出てしまいます。
どのように書き直したら良いですか?

Sub 減算COPY()
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlSubtract, _
SkipBlanks:=False, Transpose:=False
End Sub

895 :名無しさん@そうだ選挙にいこう:2020/05/07(木) 20:28:19.67 .net
セルの指定はなんだろうといるが、セルを指定しないとはどういう意味だ?

896 :名無しさん@そうだ選挙にいこう:2020/05/07(Thu) 20:52:21 .net
グラフや図を選択してる状態じゃない?
cells(1,1).select
とか入れればいいだけだと思うけど

897 :名無しさん@そうだ選挙にいこう:2020/05/07(Thu) 21:12:01 .net
それならちゃんとセルを選択してないこと自体が問題だろう

898 :名無しさん@そうだ選挙にいこう:2020/05/07(Thu) 22:07:26 .net
セルを選択してない時にマクロ実行すると…
・2013 ⇒ 何もしない(エラーにもならない)
・2019 ⇒ 実行時エラー
ってことじゃね?
選択されてることを確認するか面倒なら On Error Resume Next でも入れときゃいいと思うよ
http://officetanaka.net/excel/vba/tips/tips15.htm

899 :名無しさん@そうだ選挙にいこう:2020/05/08(金) 01:08:16 .net
ためしてないけど、たぶん
×セルを指定していない
○コピーしてない
だと思う

900 :名無しさん@そうだ選挙にいこう:2020/05/08(金) 08:05:17 .net
シート見出しにフォーカスをあわせるショートカットってありますか?

901 :名無しさん@そうだ選挙にいこう:2020/05/08(金) 08:34:52 .net
>>900
alt→h→o→r

902 :名無しさん@そうだ選挙にいこう:2020/05/08(金) 08:52:11 .net
>>901
力技ですね!ありがとうございました

903 :名無しさん@そうだ選挙にいこう:2020/05/08(金) 11:04:33 .net
>>895-899
説明不足ですみません
やりたいことは以下のような内容です。

A1に100の数値が記述されており
A2に50の数値が記述されている
A2を選択コピー
A1を選択した段階で

Sub 減算COPY()
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlSubtract, _
SkipBlanks:=False, Transpose:=False
End Sub

このマクロを登録したボタンをクリックするとA1の値が50になるというものです。

ホームボタンのクリップボードの形式を選択して貼り付け⇒値⇒減算⇒OK
と同じなのですが、頻繁にこの減算もしくは加算の作業があるのでボタンに登録しておき、
ワンクリックですむようにしたいのです。
以前のEXCELでは出来たように思います。

904 :名無しさん@そうだ選挙にいこう:2020/05/08(金) 11:18:05 .net
>>903
最初から言ってる通り、セルを選択すれば良い
セルの選択をしたくないならシートを選択スレば良い

Sub 減算COPY()
ActiveSheet.Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlSubtract, _
SkipBlanks:=False, Transpose:=False
End Sub

にしても変なエラー出てるな
https://i.imgur.com/B4amY0w.png

905 :名無しさん@そうだ選挙にいこう:2020/05/08(金) 12:53:30.95 .net
以前でもできなかったんじゃないのかな
形式を選択して貼り付けが選べない場面で実行するとエラー出てたと思うよ

コピーしたけどESC押してコピーモード抜けてる時とか(cutcopymodeがfalseの時)
セル以外選択してる時とか(typename(selection)がRangeじゃない時)

そんな感じじゃないのかな

906 :名無しさん@そうだ選挙にいこう:2020/05/08(金) 12:58:14.06 .net
>>904
レスありがとうございます。
コピーと減算(加算)貼り付けのセルは都度変わりますからマクロに書くのは難しいです。
選択コピー後に貼り付けるセルを選んでおいてマクロを走らせるのは出来ませんか?

907 :名無しさん@そうだ選挙にいこう:2020/05/08(金) 13:07:59 .net
>>905 その1
レスありがとうございます。
今となっては検証できませんが、1998年には出来たような気がします。
その時マクロ記録で作った以下のようなユーティリティ集があるのですが、重宝して使っていました。


' 数式COPY マクロ
'
Sub 数式COPY()
Selection.PasteSpecial Paste:=xlFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
End Sub

' 加算COPY マクロ
'
Sub 加算COPY()
Selection.PasteSpecial Paste:=xlValues, Operation:=xlAdd, SkipBlanks _
:=False, Transpose:=False
End Sub

' 減算COPY マクロ
'
Sub 減算COPY()
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlSubtract, _
SkipBlanks:=False, Transpose:=False
End Sub

908 :名無しさん@そうだ選挙にいこう:2020/05/08(金) 13:09:40 .net
>>905その2
Sub EnterKeyAssign()
Application.OnKey "{ENTER}", "RightMove"
Application.OnKey "~", "RightMove"
End Sub

Sub RightMove()
If TypeName(Selection) = "Range" And _
TypeName(ActiveSheet) = "Worksheet" Then
If ActiveCell.Column <> 256 Then
ActiveCell.Offset(0, 1).Select
End If
End If
End Sub

'[Enter] キーの設定を既定に戻すマクロ
Sub EnterKeyReAssign()

Application.OnKey "{ENTER}"
Application.OnKey "~"
End Sub
Sub 行列入替copy()
'
' 行列入替copy Macro
' マクロ記録日 : 1998/8/15a
'
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
End Sub
マクロ記録日が1998年です

909 :903:2020/05/08(金) 13:16:07 .net
最近のEXCELはツールバーに数式コピーや値のみのコピーを登録できますから
しばらく使っていなかったのですが、減算や加算のボタンはないので久しぶりにかっての
マクロを使ってみたわけですが特に減算コピーはよく使うので何か方法がないかと思い
質問しました。
906と907を合わせてユーティリティ集として便利に使っていた記憶があるのですが
EXCEL2013では使っていないかもしれません

910 :名無しさん@そうだ選挙にいこう:2020/05/08(金) 13:16:38 .net
>>906
ショートカットキーに登録するのは

911 :903:2020/05/08(金) 13:36:23.70 .net
>>910
ああ!!
ありがとうございました。
ショートカットキー登録で出来ました。
そう言えば以前もマクロボタンではなくショートカットキーで実行していたのかもしれません。
これで少し省エネが出来ます。
誠にありがとうございました。

912 :名無しさん@そうだ選挙にいこう:2020/05/09(土) 13:13:45 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2006
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
文字列になっている和暦の日付を、日付データに変換する方法を教えてください。
例えば今日なら02.05.09(文字列)を2020.5.9とか43960にする方法です。
業務システムから取り出したデータを使いたいのですが
日付も文字列でしか取り出せません。
LEFTやMID、FINDを駆使して1988を足したりする方法しか浮かばないので、
よい方法があれば、お願いします。

913 :名無しさん@そうだ選挙にいこう:2020/05/09(土) 13:28:02.29 .net
>>912
まんまDATEVALUE関数ってのがあるけど恐らく使えない
https://support.office.com/ja-jp/article/datevalue-%E9%96%A2%E6%95%B0-df8b07d4-7761-4a93-bc33-b7471bbff252

>LEFTやMID、FINDを駆使して1988を足したりする方法しか浮かばない
これで十分

914 :名無しさん@そうだ選挙にいこう:2020/05/09(土) 13:41:34 .net
>>912
平成とわかってるなら頭にHを足すだけ
「H02.05.09」なら平成のシリアル値として認識してくれる

915 :名無しさん@そうだ選挙にいこう:2020/05/09(土) 14:11:59.80 .net
そこはRだろw

916 :名無しさん@そうだ選挙にいこう:2020/05/09(土) 14:15:44.77 .net
>>914
平成も令和もありまする

917 :名無しさん@そうだ選挙にいこう:2020/05/09(土) 14:19:59.93 .net
Excel2019や365ならRで令和と認識してくれるが、Excel2006だと足し算するしかないと思う

918 :名無しさん@そうだ選挙にいこう:2020/05/09(土) 14:22:25.94 .net
>>912
>>917
すみません 2006じゃなくて2016でしたorz

919 :名無しさん@そうだ選挙にいこう:2020/05/09(土) 14:23:46.90 .net
>>916
今日は令和しかないんだが

920 :名無しさん@そうだ選挙にいこう:2020/05/09(土) 14:27:20.92 .net
Excelが日付として認識する形式ならdatevalue使えばいいし
そうでないなら自分で分解するしかない

921 :名無しさん@そうだ選挙にいこう:2020/05/09(土) 14:27:48.39 .net
>>918
2016なら簡単
A1="02.05.09" こういう文字列があったとする
B1=DATEVALUE("R"&A1) これだけで令和のシリアル値に変換できる

922 :名無しさん@そうだ選挙にいこう:2020/05/09(土) 14:32:50.83 .net
平成もあるなら結局分岐の必要があるし、そこまでやるならleft辺りで分解してdateでいいような

923 :名無しさん@そうだ選挙にいこう:2020/05/09(土) 15:14:59.62 .net
DATEVALUE関数の難点は、日付と認識してくれないパターンがある事なんだけど、R02.05.09なら大丈夫か
平成令和どっちもありだと、どうやって平成と令和を区別するかが決まってないといけないね
平成のままの数値なら、例えばH32.05.09でも通るんだけど

924 :名無しさん@そうだ選挙にいこう:2020/05/09(土) 15:24:49.10 .net
H5年以前はないと勝手にルール作ると、こんな漢字科
=DATEVALUE(IF(LEFT(N636)*1<5,"R","H")&N636)

925 :名無しさん@そうだ選挙にいこう:2020/05/09(土) 15:25:14.16 .net
違った、こうか
=DATEVALUE(IF(LEFT(N636,2)*1<5,"R","H")&N636)

926 :名無しさん@そうだ選挙にいこう:2020/05/09(土) 16:12:43.33 .net
VALUEじゃなくて*1を使ったのはなぜですか
*1じゃなくてDATEVALUEを使ったのはなぜですか

927 :名無しさん@そうだ選挙にいこう:2020/05/09(土) 16:15:09.57 .net
>>926
>VALUEじゃなくて*1を使ったのはなぜですか
タイプ数が短いから

>*1じゃなくてDATEVALUEを使ったのはなぜですか
質問の意図が分からない
文字列を*1してもエラーが返るだけだが

928 :名無しさん@そうだ選挙にいこう:2020/05/09(土) 16:17:39.03 .net
N636がどっから出てきたかの方が気になる

929 :名無しさん@そうだ選挙にいこう:2020/05/09(土) 16:18:44.51 .net
>>927
日付と認識できる文字列なら*1でシリアル値に変換できる

930 :名無しさん@そうだ選挙にいこう:2020/05/09(土) 16:22:08.98 .net
>>929
それは知らなかった、ありがとう
こんなもんかね
やや見辛い気はするけど、まぁいいか

=(IF(LEFT(N636,2)*1<5,"R","H")&N636)*1

>>928
作業中のシートやねん

931 :名無しさん@そうだ選挙にいこう:2020/05/09(土) 16:25:54.18 .net
>>930
マジックナンバーか未知の関数か何かかと思ってしまうから新規シートを追加して試してくれ

932 :名無しさん@そうだ選挙にいこう:2020/05/09(土) 16:42:10.09 .net
=(IF(LEFT(a1,2)*1<5,"R","H")&a1)*1
書き換えればええがな

933 :名無しさん@そうだ選挙にいこう:2020/05/09(土) 16:48:24.32 .net
>>930
出来ました!ありがとうございました

934 :名無しさん@そうだ選挙にいこう:2020/05/09(土) 18:47:08.87 .net
>>933
>>924
930様より前に924様でした

935 :名無しさん@そうだ選挙にいこう:2020/05/09(土) 19:36:19.45 .net
あくまで個人的な意見だけど、DATEVALUEは明示しておいた方が好み
*1で代用すると、ぱっと見、日付変換式ってわかりにくいから、後で見たときに?てなる

936 :名無しさん@そうだ選挙にいこう:2020/05/09(土) 19:46:32 .net
それは同意見
回答者でも知らなかったぐらいだし(実は俺も)

937 :名無しさん@そうだ選挙にいこう:2020/05/09(土) 20:05:00 .net
&“”で文字列化(空白セル引用したときに0が出るのを消せる)
みたいな感じ?*1

938 :名無しさん@そうだ選挙にいこう:2020/05/09(土) 20:38:16 .net
>>935
DATEVALUEはこのケースでは使えない
あと、DSUM関数の他人が見たときの分かりにくさときたら

939 :名無しさん@そうだ選挙にいこう:2020/05/09(土) 20:47:08 .net
便乗で質問ですが
VBA 編集モードでマクロ止めてるのに
2019は勝手に動いてて困るのですが、これって仕様ですか?
特定のシートでactiveになったら保護かけるマクロが
編集モードにしてるのに
いろいろシートを移動してる間に有効になっててイラつきます

940 :名無しさん@そうだ選挙にいこう:2020/05/09(土) 21:19:03.66 .net
>>939
コードが間違っていて、今までたまたま動いていたという可能性がある

941 :名無しさん@そうだ選挙にいこう:2020/05/09(土) 21:27:37.93 .net
>>938
いや普通に使えるんだけど
=DATEVALUE("R"&"02.05.09")
でちゃんとシリアル値が返ってくる

942 :名無しさん@そうだ選挙にいこう:2020/05/09(土) 22:19:23 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

1つのセル同士で複数の検索値に合った複数の結果を出す方法があれば教えてください。
A1には08:00、14:00、16:00、18:00、19:00または空欄のいずれかのデータになります。
A1の文字列に合わせてB1に08:00なら0812、14:00なら1416という風にAセルに合わせた値にしたいのですがどのようにすればいいでしょうか?
A1が空欄の場合はB1も空欄としたいです。

IF(COUNTIFを使用すると1つだけには対応できるのですが、複数の検索値に合った複数の結果となるとどうすればいいか分かりません。

943 :名無しさん@そうだ選挙にいこう:2020/05/09(土) 22:22:12 .net
>>942
IFの入れ子

944 :名無しさん@そうだ選挙にいこう:2020/05/09(土) 22:47:33.67 .net
>>943
ありがとうございます。
解決しました。

945 :名無しさん@そうだ選挙にいこう:2020/05/09(土) 22:50:39.48 .net
>>942
=TEXT(HOUR(A1)*101+IF(HOUR(A1)=8,4,2),"0000")

946 :名無しさん@そうだ選挙にいこう:2020/05/10(日) 01:04:48 .net
>>939
VBEでの編集中でも対象のイベントが発生したらコード通るでしょ。

947 :名無しさん@そうだ選挙にいこう:2020/05/10(日) 01:35:16 .net
>>939
Application.EnableEventsで任意にイベントを止める方法もある

948 :名無しさん@そうだ選挙にいこう:2020/05/10(日) 11:01:19.67 .net
>>945
ありがとうございます。
詳細に書いてなく申し訳ないのですが、文字列の中に時間表記が含まれているため、そこのみを抽出して置換する必要がありました。
少し長い表記でしたがIF(COUNTIFを入れ子にする事で解決できました。

949 :名無しさん@そうだ選挙にいこう:2020/05/10(日) 11:34:00.82 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

1コマ目 Excel
2コマ目    Excel
3コマ目       Excel
4コマ目           爆発

どう?
DirectXでもいいです。

950 :名無しさん@そうだ選挙にいこう:2020/05/10(日) 11:38:44.66 .net
間違えた。

1コマ目  Excel
60コマ目    Excel
120コマ目       Excel
180コマ目           爆発

60fpsで。

951 :名無しさん@そうだ選挙にいこう:2020/05/10(日) 12:06:02 .net
>>949-950
驚くほど何一つ伝わらない

952 :名無しさん@そうだ選挙にいこう:2020/05/10(日) 13:46:39.52 .net
>>759
インターネッツにまとめサイトがあるから
画像掲載してるところも多いから好きな雰囲気のところ眺めたら十分よ。

953 :名無しさん@そうだ選挙にいこう:2020/05/10(日) 14:04:46.78 .net
>>950
B1:=NOW()
D1:=IF(NOW()>A1+"00:00:08","           爆発",IF(NOW()>A1+"00:00:07","       Excel" ,
   IF(NOW()>A1+"00:00:06","   Excel",IF(NOW()>A1+"00:00:05.0166666666666667","Excel",""))))
としておく
F9を押し、A1にB1を値のみコピーを5秒以内に行い、あとはExcel愛をこめてF9を1/60sピッチ程度でひたすら連打
最初のF9から約5秒後にスタートするぞ 見逃すな

954 :名無しさん@そうだ選挙にいこう:2020/05/10(日) 19:27:58 .net
>>953
いや、それだとExcelの描画がついてこれないでしょ。
DirectXでもいいってのはそういう意味。

>>951
だろうね。
でもニッチ過ぎるから、細かく書いても雑に書いても同じだと思うよ。

955 :名無しさん@そうだ選挙にいこう:2020/05/10(日) 20:04:06.87 .net
なら来るな

956 :名無しさん@そうだ選挙にいこう:2020/05/10(日) 20:09:34.03 .net
>>955
これで通じるレベルの人に聞いている。

957 :名無しさん@そうだ選挙にいこう:2020/05/10(日) 20:27:10 .net
>>956
氏ねよ

958 :名無しさん@そうだ選挙にいこう:2020/05/10(日) 21:00:53.76 .net
>>957
答えられないからって、いくらなんでもそれはないだろう。
分からなきゃ黙っていればいいだけのことなのに。
性格悪いな。

959 :名無しさん@そうだ選挙にいこう:2020/05/11(月) 01:27:09.07 .net
>>958
そうだね、だからさっさと出て行くといいよ

960 :名無しさん@そうだ選挙にいこう:2020/05/11(月) 10:35:06 .net
セルに「HSA」と入力すると「HAS」とかってに変換されてしまうのは仕様?

961 :名無しさん@そうだ選挙にいこう:2020/05/11(月) 10:48:40 .net
>>960
仕様じゃなくてオートコレクト機能の設定による

962 :名無しさん@そうだ選挙にいこう:2020/05/11(月) 19:49:44 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2019
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
シートを跨いだ数式を別なbookにコピーすると、コピー元のbookを参照した関数に変わってしまいます。
book1で「=Sheet1!A1」と書いた数式が、book2だと「=[book1.xlsx]Seet1!A1」となってしまいます。
数式の表示をしてからコピーしても上記のようになります。
他のbookを参照しないよう、数式をそのまま別なbookにコピーする方法が有れば教えてください。

963 :名無しさん@そうだ選挙にいこう:2020/05/11(月) 20:19:37.57 .net
>>962
シートを数式表示にする→コピーしてメモ帳とかに貼り付け→メモ帳に張り付けた数式をコピーしてシートに貼り付け

964 :名無しさん@そうだ選挙にいこう:2020/05/11(月) 20:36:01.77 .net
それなら数式張り終えたあと

置換
[book1.xlsx]→空白
すべて置換

しちゃう

965 :名無しさん@そうだ選挙にいこう:2020/05/11(月) 20:52:08 .net
>>964
すっげぇ

966 :名無しさん@そうだ選挙にいこう:2020/05/11(月) 21:01:46 .net
ちなみに同じ理屈で
更新できない外部リンクがー

とか出てきたときも
検索
.xls

ブック
数式

という条件で検索するとどのセルに
[book1.xlsx]
が残ってるかがわかるよ

967 :名無しさん@そうだ選挙にいこう:2020/05/11(月) 21:04:30 .net
一括置換する時は2つのセルだけ選択して消した時にエラー出ないの確認してから残りをやったほうがいい

リンク取った時にエラー出るとひたすらキャンセル連打することになる

968 :名無しさん@そうだ選挙にいこう:2020/05/11(月) 21:12:31 .net
>>962
使い方によっては、indirect関数を使うのも便利だけど、少し難しいかも。

969 :名無しさん@そうだ選挙にいこう:2020/05/11(月) 21:16:37 .net
コピーしたいセルでCtrl+C
ペーストしたいセルでCtrl+C Win+V ↓ Enter

970 :名無しさん@そうだ選挙にいこう:2020/05/11(月) 22:11:18.44 .net
>>963-969
いろいろな方法を教えていただきありがとうございます
順番に試してみます

971 :名無しさん@そうだ選挙にいこう:2020/05/11(月) 22:26:23.15 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel365
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可・
https://github.com/kaz-ogiwara/covid19/tree/master/data
ここのdata.jsonを使って、全国・日別の棒グラフを作成したい。
私的ですが棒グラフに「この日はこんなことがありました。」
といったコメントを追加したく。よろしくお願いいたします。

972 :名無しさん@そうだ選挙にいこう:2020/05/12(火) 01:49:32.10 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 すこーし
【4 VBAでの回答の可否】 可

https://i.imgur.com/f7UuNzk.jpg
写真のような表で、同じ人がそれぞれ10枚の色が違う番号が振られているカードを持っているとして、(赤なら1.2.3.4のカードを持っている)
最終的に色は関係なく、その人が持っているカードの番号の種類をセルに表示したい場合、
どのようにしたら良いでしょうか?(写真なら、1.2.3.4.5.6.9.10のカードを持っているとわかるようにしたい)
色々悩んだけどわからなかったので力を貸してください。

973 :名無しさん@そうだ選挙にいこう:2020/05/12(火) 07:11:11.81 .net
g列以降に作業列作るのとか
10列作って、1から10それぞれが含まれるか判定
最下行で判定結果で○&#9747;

974 :名無しさん@そうだ選挙にいこう:2020/05/12(火) 08:34:02 .net
>>972
これでええか?
ちょっと長くなったんでここには書けないので共有サイトに置いといた
https://harigami.jp/cd?hsh=0c3da1c6-9824-4833-833b-387542bd6691

975 :名無しさん@そうだ選挙にいこう:2020/05/12(火) 08:37:15 .net
>>973
言葉足らずで申し訳ないです、こういうデータが複数人出てきたときに、それぞれの人に応じてなんの番号を持っているのかを出したいです。

976 :名無しさん@そうだ選挙にいこう:2020/05/12(火) 08:38:50 .net
>>974
ありがとうございます!見てみます!

977 :名無しさん@そうだ選挙にいこう:2020/05/12(火) 16:31:46.17 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2019
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
Aはb+c...で構成されていてAの製造実績をいれるとb.cなどの消費実績が自動で分かる、これらが100品種くらいあるのですがお勧めな実績管理方法教えて下さい

978 :名無しさん@そうだ選挙にいこう:2020/05/12(火) 17:21:50 .net
材料がある程度固定なら、縦側に製品、横側に材料並べて交差するセルに消費量書き込んだ表用意しといて表引き

979 :名無しさん@そうだ選挙にいこう:2020/05/12(火) 17:33:12 .net
>>978
結構製品によって構成品が違うので難しいですね
1シートに構成マスタなるもの作って別シートの消費情報に
よって在庫情報を変動させる手立てはありますか?

980 :名無しさん@そうだ選挙にいこう:2020/05/12(火) 20:26:43 .net
>>979
親子関係を羅列したシート(機能部分)
単品部品を羅列しているシート(出力部)
製造単位を羅列しているシート(入力部)

という構成にする

入力部には
[製造単位の品名、コード][製造実績]
というリストにする


親子関係を羅列したシートに

[製造単位の品番、コード][単品の品番][その製造単位でその単品の員数] (ここまではリスト) [sumifsで入力部から製造単位の実績数を引用] [ 引用された実績数×員数](関数)

という風に5列つくる

で、出力部は
[単品部品][sumifsで親子関係シートから引用]
というシートにする

981 :名無しさん@そうだ選挙にいこう:2020/05/12(火) 20:50:44 .net
>>980
ありがとうございます!
ふんわりと理解はできるんですがいざ作れるかとなると、、すいません
何か例になるサイトか参考例とかありますか?

982 :名無しさん@そうだ選挙にいこう:2020/05/12(火) 20:59:26 .net
ここに書いてある事、何を言ってるか全然分からない(笑)Excelに詳しいと思った自分が恥ずかしいわ。

983 :名無しさん@そうだ選挙にいこう:2020/05/12(火) 21:03:51 .net
80 77 55
79 43 84
50 50 50
66 41 41

みたいな感じでデータが入っていて、
行の最大値を列ごとに個数を数えたいのですがどうすればいいですか?
このデータでいうと左の列が3、中が1、右が2という数字を返したいのです
VBAは使いません

984 :名無しさん@そうだ選挙にいこう:2020/05/12(火) 21:10:29 .net
>>983
>行の最大値を列ごとに
意味が分からない
50以上or50を超える数値の数を数えたいの?

985 :名無しさん@そうだ選挙にいこう:2020/05/12(火) 21:13:50 .net
>>984
80 77 55 なら左の列が最大値
50 50 50 なら全部最大値になりますよね
左の列が最大値になるときの左の列の個数とかを数えたいのです

986 :名無しさん@そうだ選挙にいこう:2020/05/12(火) 21:24:39 .net
>>983
あぁごめんなさい、ちゃんと読んだらそのとおりでした。

シンプルにこんな漢字
https://i.imgur.com/RwJ71L8.png

D1
A1=MAX($A1:$C1)
G2
COUNTIF(D:D,TRUE)

987 :名無しさん@そうだ選挙にいこう:2020/05/12(火) 21:28:06 .net
>>986
ありがとうございます
D~Fの別セル作らずにはできないでしょうか?

988 :名無しさん@そうだ選挙にいこう:2020/05/12(火) 21:31:07 .net
>>987
出来ると思うけど時間の無駄だから考えないよ
他の人がやってくれるかもね

989 :名無しさん@そうだ選挙にいこう:2020/05/12(火) 21:31:09 .net
>>981
https://i.imgur.com/1RqB3R3.jpg

こんな感じでいかが

990 :名無しさん@そうだ選挙にいこう:2020/05/12(火) 21:33:12 .net
>>988
ありがとね

991 :名無しさん@そうだ選挙にいこう:2020/05/12(火) 21:37:10 .net
>>989
わざわざありがとうございます!
ちょっと明日やってみます!
感謝感激です!

992 :名無しさん@そうだ選挙にいこう:2020/05/12(火) 21:43:36 .net
>>985
これじゃダメ?

https://i.imgur.com/Ul8n84P.jpg

993 :名無しさん@そうだ選挙にいこう:2020/05/12(火) 22:12:58.21 .net
>>992
ありがとうございます
これだと作業用のセルが一つで済みますね

994 :名無しさん@そうだ選挙にいこう:2020/05/12(火) 22:34:42.84 .net
次スレ

Excel総合相談所 139
https://mevius.5ch.net/test/read.cgi/bsoft/1589290424/l50

995 :名無しさん@そうだ選挙にいこう:2020/05/13(水) 15:18:03.36 .net
Twitterで方眼紙の評価悪いんだが、見積書や工程表で見た目と入力しやすさと軽さを全部成立させる方法って何があるんだろ

996 :名無しさん@そうだ選挙にいこう:2020/05/13(水) 20:13:32 .net
うめておきますね

997 :名無しさん@そうだ選挙にいこう:2020/05/13(水) 21:31:30 .net
>>995
相手に入力依頼したり見積額を他に使い回すのでなければ
エクセル方眼紙でもなんでもいいんじゃね?

そのファイルから数字拾わせたりそこに金額入れろって人に渡してるならふざけんなと思うけど

998 :名無しさん@そうだ選挙にいこう:2020/05/13(水) 22:29:47.12 .net
>>997
見積書は社内共通なんで他社も使いますね

999 :名無しさん@そうだ選挙にいこう:2020/05/14(木) 02:23:04.69 .net
(´・ω・`)

1000 :名無しさん@そうだ選挙にいこう:2020/05/14(木) 02:23:16.85 .net
ヽ(´▽`)/

1001 :2ch.net投稿限界:Over 1000 Thread
2ch.netからのレス数が1000に到達しました。

総レス数 1001
293 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★