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

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

Excel総合相談所 140

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

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

前スレ
Excel総合相談所
https://find.5ch.net/search?q=excel+%E7%9B%B8%E8%AB%87%E6%89%80

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/07/21(火) 08:21:42.45 .net
関数を使って集計する方法を教えていただけないでしょうか。
index matchの組み合わせもしくは、sumifもしくはindex match sumifの複合で表示させたいです。

画像の出荷と書かれたセルに関数を入れて集計したいです。
集計は参照シートの黄色で書かれた「販売+その他出荷」の合計を表示したいです。
sumifでは縦の計算になってしまい、横の足し算が出来ない印象です。
上の数字はmatchを使った際の引用条件になると思い入れました。

説明わかりづらくてすいません。関数を教えていただけないでしょうか。
具体例のエクセルは簡単に書いてますが、実際に書くエクセルはデータが膨大なものです。
なぜかindexもうまく引用できていませんでした。


https://d.kuku.lu/ca513f39a8

3 :名無しさん@そうだ選挙にいこう:2020/07/21(火) 09:11:18.62 .net
>>2
前スレの232の方ですね。自分を含む数名から回答を受けて解決したのではありませんか?

4 :名無しさん@そうだ選挙にいこう:2020/07/21(火) 12:58:01.52 .net
VBAで質問です。

何十列もある表で不要な列を大量に削除したいと思っています。

Range("A1,N1:U1.....").entirecolumn.deleteといった感じで手作業、つまり目で列を確認してコードを書くしかないのでしょうか??

分かる方お願いします。

5 :名無しさん@そうだ選挙にいこう:2020/07/21(火) 13:00:46.31 .net
いやそんなことはない
でも何十くらいなら目チェックの方が早いし安いな

6 :名無しさん@そうだ選挙にいこう:2020/07/21(火) 14:13:59.28 .net
それでいいので教えてください。
どうやって不要の列を決め打ちするので?

7 :名無しさん@そうだ選挙にいこう:2020/07/21(火) 15:29:53.87 .net
列削除だけのコード書くくらいなら手動で消していけばいいじゃん に対してのそれで良い なのか
いやそんなことはない に対してのそれで良いなのか

8 :名無しさん@そうだ選挙にいこう:2020/07/21(火) 17:25:11.10 .net
使用していない行に1とかフラグを置いて、union使って列指定
この辺を参考に
https://mmm-program.com/vba-delete-line-fast/

9 :名無しさん@そうだ選挙にいこう:2020/07/21(火) 18:44:44.50 .net
それだと不要な列を目でみて1をつけないとならないので意味がナッシングです。

10 :名無しさん@そうだ選挙にいこう:2020/07/21(火) 18:53:25.18 .net
不要な列の条件が分からないのにどうしろと

11 :4:2020/07/21(火) 18:57:20.94 .net
>>10

> 不要な列の条件が分からないのにどうしろと


表に見出し(1行目)があるのでそれを見ながら削除しています。あ、この見出しの列は不要と判断します。不要な見出しをリスト化したら可能とかありますか?

12 :名無しさん@そうだ選挙にいこう:2020/07/21(火) 19:33:37.64 .net
不要な見出しリストが作れるならわりと簡単

13 :名無しさん@そうだ選挙にいこう:2020/07/21(火) 19:36:09.53 .net
目で見て比較しないとわからないような曖昧なリストしか作れない場合は無理

14 :4:2020/07/21(火) 19:53:11.07 .net
>>12
教えてください!お願いします!!

15 :名無しさん@そうだ選挙にいこう:2020/07/21(火) 21:05:38.42 .net
いいですよ!

16 :15:2020/07/21(火) 22:13:37.71 .net
>>2>>14
様、大変長らくお待たせ致しました
以下がコードになりますのでご査収下さいませ
よろしくお願い致します



Sub Macro1()
不要な列を削除するための見出し = "aaa"
最終列 = Cells(1, Columns.Count).End(xlToLeft).Column
For i = 最終列 To 1 Step -1
If Cells(1, i).Value = 不要な列を削除するための見出し Then
Columns(i).Delete Shift:=xlToLeft
End If
Next
End Sub

17 :4:2020/07/21(火) 22:20:11.33 .net
>>16
ありがとうございます。
試してみたいと思います。

18 :名無しさん@そうだ選挙にいこう:2020/07/21(火) 22:59:32 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2019
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
1つの列にデータがずらっと並んでいて、そこから重複していないデータだけを別のシートに抽出する方法を教えてください
りんご
りんご
バナナ
みかん
みかん
が並んでいる場合、バナナだけを抽出したいです

19 :名無しさん@そうだ選挙にいこう:2020/07/21(火) 23:08:54 .net
>>18
作業列を作る
ifとcountifで重複ありを0、重複なしを1
もう1列作業列を作る
ifで1の場合rowを返す
もう1列作業列を作る
rowをrank付けする

別シートの列に
1
2
3
4
とか入力する

indexとmatchでrankを参照

20 :名無しさん@そうだ選挙にいこう:2020/07/21(火) 23:10:14 .net
>>18
countifで1を出す
その後、フィルタで抽出してコピーペースト
https://i.imgur.com/ewsZgaG.png

21 :名無しさん@そうだ選挙にいこう:2020/07/21(火) 23:18:32 .net
if(countif(A:A、A1)=1、MAX($B$1,B1)+1、“”)
で上から1、2、3…って数字つける
それからIndex MATCH

22 :名無しさん@そうだ選挙にいこう:2020/07/21(火) 23:20:49 .net
被ったし回答し直すか、と思ったらまた被って俺は
https://i.imgur.com/BDIp5Ig.png

ただこのやり方ってなんとなくindexmatchがなんとかなりそうな気はする

23 :名無しさん@そうだ選挙にいこう:2020/07/21(火) 23:22:21 .net
ルックアップでりんごとかのカズ数えて一個しかない奴を再度ルックアップすれば良い

24 :名無しさん@そうだ選挙にいこう:2020/07/21(火) 23:22:59 .net
もっとよくやるのは
countif($A$1:A1,a1)
で初登場を集める方法

25 :名無しさん@そうだ選挙にいこう:2020/07/21(火) 23:23:33 .net
すみませんが、VBSはちょっと、、、
VBAを使わない方法はないでしょうか。

26 :名無しさん@そうだ選挙にいこう:2020/07/21(火) 23:25:28 .net
>>25
ビデオもマクロも使ってない

27 :名無しさん@そうだ選挙にいこう:2020/07/21(火) 23:27:12 .net
>>25
>>4の方?

・全体をコピーして行列を入れ替えて貼り付け
・元見出しだった1行目はA列になるので、A列で不要な見出しでフィルタリング
・フィルタしたものを削除し、フィルタ解除
・もう一回行列入れ替えて貼り付け

これ以上は難しいかな

28 :4:2020/07/21(火) 23:45:52 .net
>>27
すごい。

明日試してみたいと思います。ありがとう。

29 :名無しさん@そうだ選挙にいこう:2020/07/21(火) 23:56:29 .net
>>18です
方法教えてくれてありがとうございます
作業列作って計算するしかなさそうですね
365のunique関数が欲しい…

30 :名無しさん@そうだ選挙にいこう:2020/07/22(水) 00:40:46.43 .net
作業列無しで関数で出す方法もあるけどメタクソ長い関数になるから作業列作ったほうが楽

31 :名無しさん@そうだ選挙にいこう:2020/07/22(水) 01:07:12.52 .net
>>18
2007以降ならリボンのデータから重複の削除アイコンかある

32 :名無しさん@そうだ選挙にいこう:2020/07/22(水) 04:10:55.88 .net
>>31
リンゴとか2つ以上あるやつはリンゴ1つにするのではなく、無視する方法を知りたいようだぞ

33 :4:2020/07/22(水) 05:20:24.02 .net
>>16

> >>2>>14
> 様、大変長らくお待たせ致しました
> 以下がコードになりますのでご査収下さいませ
> よろしくお願い致します
>
> 記
>
> Sub Macro1()
> 不要な列を削除するための見出し = "aaa"
> 最終列 = Cells(1, Columns.Count).End(xlToLeft).Column
> For i = 最終列 To 1 Step -1
> If Cells(1, i).Value = 不要な列を削除するための見出し Then
> Columns(i).Delete Shift:=xlToLeft
> End If
> Next
> End Sub


すみません、1行目の不要な列を削除するための見出しが1個だけではなく何個もある場合はどうしたらいいでしょうか?

34 :名無しさん@そうだ選挙にいこう:2020/07/22(水) 05:32:34.31 .net
>>33
select case

35 :名無しさん@そうだ選挙にいこう:2020/07/22(水) 05:41:52.68 .net
select Case cells(1,i).value
case"aaa","bbb"
columns(i).delete shift:=xlToleft
end select

36 :名無しさん@そうだ選挙にいこう:2020/07/22(水) 07:40:29.38 .net
>>35
>select Case cells(1,i).value
>case"aaa","bbb"
>columns(i).delete shift:=xlToleft
>end select

見出しのリストも自動で作りたいのですが、可能で紹介?

37 :名無しさん@そうだ選挙にいこう:2020/07/22(水) 08:00:41.29 .net
>>36
見出しのリストがどんなもんかわからん
ccc
ddd
のようなリストがほしいだけなら見出し行をコピーして行列置換でペーストすればいいだけだぞ

38 :名無しさん@そうだ選挙にいこう:2020/07/22(水) 09:11:07.04 .net
>>37
>>36
>見出しのリストがどんなもんかわからん
>ccc
>ddd
>のようなリストがほしいだけなら見出し行をコピーして行列置換でペーストすればいいだけだぞ

上のコードを動かすために見出しのリストが必要なんですかい。

39 :名無しさん@そうだ選挙にいこう:2020/07/22(水) 09:42:51.98 .net
よくこんな釣りに構ってられるなお前ら

40 :名無しさん@そうだ選挙にいこう:2020/07/22(水) 12:05:56.36 .net
禿同

41 :名無しさん@そうだ選挙にいこう:2020/07/22(水) 12:08:19.04 .net
お前らも黙ってられないのか?

42 :4:2020/07/22(水) 12:38:02.12 .net
>>35

実行できました。ありがとうございます。

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

A1〜F1のセルには1〜4いずれかの数字が入ります
G1のセルには自分の指定した数字(10〜20の範囲内)を入れます
G1の値になるようにA1〜F1の組み合わせを全て書き出す方法を教えて下さい

44 :名無しさん@そうだ選挙にいこう:2020/07/22(水) 13:16:06 .net
1ファイル12 Sheetで一年間のデータを管理しています。
1月〜12月がそれぞれ1Sheet〜でSeet1月〜Sheet12月、Sheetは1日〜月末まで日々のデータです。

これとは別に同ファイルに、1Sheetに1月〜12月までの表を12ヶ月分並べたもの(Sheet年間)があるのですが
月ごとにデータを入力したら、こちらのSheetの、該当日にも入力されているようにするにはどうやればいいのでしょうか?

45 :名無しさん@そうだ選挙にいこう:2020/07/22(水) 13:17:42 .net
書き忘れました
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel 2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

46 :名無しさん@そうだ選挙にいこう:2020/07/22(水) 13:32:31 .net
>>43
何をどう組み合わせてG1の値にしたいのか例を書いてくれ

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

以前下記のExcelからメール作成するフォーマットをここで教えてもらい便利に使ってました
マクロ実行でB4がTO、B5がCC、B6が件名、B7が本文に入力されてメール作成画面が開きます

ところが会社の中国人が使いたいと言うので渡したところ
中国語のWindows10だと件名と本文が文字化けします
中国語等の外国語のWindows PCでも文字化けしないようにできますでしょうか

Sub createMail()
CreateObject("Wscript.Shell").Run _
"mailto:" & URLEncode(Range("B4").Value) & _
"?cc=" & URLEncode(Range("B5").Value) & _
"&subject=" & URLEncode(Range("B6").Value) & _
"&body=%FF%FE" & URLEncode(Range("B7").Value)
End Sub

Function URLEncode(ByVal strOrg As String) As String
With CreateObject("ScriptControl")
.Language = "JScript"
URLEncode = .CodeObject.encodeURI(strOrg)
End With
End Function

48 :名無しさん@そうだ選挙にいこう:2020/07/22(水) 14:46:59.49 .net
>>46
ありがとうございます
最低でもA1〜F1には1以上の数字を必ず入れます
G1は(A1+B1+C1+D1+E1+F1)の合計になります
例えばG1が11の場合、(A1+B1+C1+D1+E1+F1)のパターンを全て知りたいです

49 :名無しさん@そうだ選挙にいこう:2020/07/22(水) 15:26:37.89 .net
すみません、解決しました
以前教えてもらったMODとROW関数とフィルタで出来ました

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

色んなデータがあるサイトでピンポイントで一つのデータをスクレイピングしたいんですが、
そのデータがソースで毎回30行目で固定されてるんで、
行指定でデータ吸い取れたら良いんですが、やり方がわかりません。
お願いします。

51 :名無しさん@そうだ選挙にいこう:2020/07/22(水) 17:24:27.10 .net
>>50
HTMLソースを文字配列に読み込んで30番目を使う

52 :名無しさん@そうだ選挙にいこう:2020/07/22(水) 20:49:56.57 .net
>>43
ゴールシークという機能を使う

53 :名無しさん@そうだ選挙にいこう:2020/07/22(水) 21:39:14.22 .net
>>35
caseの後のaaa、bbb………を別のシートにリスト化のような感じになっていたらcaseのあとに全部書く必要はなくないでしょうか?やり方を教えてほしいで。、

54 :名無しさん@そうだ選挙にいこう:2020/07/22(水) 22:00:00.49 .net
>>53
worksheetfunction.matchと
case is 構文
エラー処理も必要

55 :名無しさん@そうだ選挙にいこう:2020/07/22(水) 22:22:31.15 .net
>>47
中国語の環境がないから何とも言えないけど・・・
UTF-8になっているから逆に文字化けするのがおかしい気がする
メールソフトがutf-8に対応していないと思う。多分
メールソフトを変えてみると解決するかもしれない
メールソフトを帰るのが無理だと、中国語(euc-cn)などにエンコードすればいいかもしれないけど、すげー大変そう

>>53
sheet1のa1:a5がリスト。
findの返り値はsetしないと使えない事に気づくのに3分かかったわ

Sub Macro1()

最終列 = Cells(1, Columns.Count).End(xlToLeft).Column

For i = 最終列 To 1 Step -1
不要な列を削除するための見出し = Cells(1, i).Value

Set result = Sheets("sheet1").Range("a1:a5").Find( _
What:=不要な列を削除するための見出し, LookAt:=xlWhole)

If Not (result Is Nothing) Then
Columns(i).Delete Shift:=xlToLeft
End If
Next

End Sub

56 :名無しさん@そうだ選挙にいこう:2020/07/22(水) 23:09:25.93 .net
>>55
どこでUTF-8になってると分かるのでしょうか?

57 :名無しさん@そうだ選挙にいこう:2020/07/22(水) 23:19:57.85 .net
>>56
テキトーな文字をエンコードして、それで検索したら大体分かるよ

考えてみたけど、中国語への変換は中国人に中国語で検索してもらうと見つかるかもしれない

58 :名無しさん@そうだ選挙にいこう:2020/07/23(木) 08:11:32.20 .net
>>47
ユニコードには表現方法がいくつもあって、ワークシートの文字列をVBAで扱う時はUCS-2形式のユニコードが使われるから、これをUTF-8形式に変換しないと基本的には文字化けする
具体的な方法は知らんけど、ADODB.StreamオブジェクトのCharsetプロパティでできるかもしれない

59 :名無しさん@そうだ選挙にいこう:2020/07/23(木) 08:39:15.61 .net
>>52
ありがとうございます

60 :52:2020/07/23(木) 09:24:34.15 .net
>>55
ありがとう。

61 :名無しさん@そうだ選挙にいこう:2020/07/23(木) 09:34:12.59 .net
ワークシート上の文字列をUTF-8に変換する関数
これでも文字化けするなら、さらに16進数に変換しないとだめかも

Function UTF8(text As String) As String
  With New ADODB.Stream
    .Open
    .Type = adTypeText
    .Charset = "UTF-8"
    .WriteText text
    .Position = 0
    .Type = adTypeBinary
    .Position = 3
    UTF8 = .Read
    .Close
  End With
End Function

62 :名無しさん@そうだ選挙にいこう:2020/07/23(木) 09:36:40.34 .net
補足
ADODB.Streamを使う時は参照設定で「Microsoft ActiveX Data Objects x.x Libraryを追加
バージョンは2.5以上ならどれでもいいはず

63 :名無しさん@そうだ選挙にいこう:2020/07/23(木) 17:22:53.93 .net
> "&body=%FF%FE"
BOMだけパーセントエンコードがUTF-16LEになってる

64 :名無しさん@そうだ選挙にいこう:2020/07/23(木) 19:10:30.57 .net
>>47です

>>57
すみません意味分かりません

>>58
>>61-62
その方法だと使うPC全てExcelのVBAでADODB.Streamオブジェクトを
使えるようにしなければなりませんよね?

>>63
そこを下記のようにsubjectの行と同じように変更し
自分の日本語Windows PCで中国語でニーハオとB6とB7に入力して
実行したら件名は文字化けしないけど本文だけ文字化けしました

"&subject=" & URLEncode(Range("B6").Value) & _
"&body=" & URLEncode(Range("B7").Value)

元々の
"&body=%FF%FE" & URLEncode(Range("B7").Value)
だと本文も文字化けしません

65 :名無しさん@そうだ選挙にいこう:2020/07/23(木) 20:28:24.08 .net
ならそれでもう使えるだろ?
目的を明確にしてから質問してくれよな

66 :名無しさん@そうだ選挙にいこう:2020/07/23(木) 23:50:57.65 .net
VBAでSUBTOTAL関数を使って2つの列の合計を別のセルに出したいです。非表示部分も合計されて出てしまいます。可視セルのみの合計を出したいです。よろしくお願いします。

67 :名無しさん@そうだ選挙にいこう:2020/07/24(金) 01:20:03.05 .net
>64
結果報告とはありがたい

>>66
オートフィルタがないとうまく動かないかもしれない
https://i.imgur.com/9xwKziG.png

68 :名無しさん@そうだ選挙にいこう:2020/07/24(金) 09:31:26.77 .net
>>66
アグリゲートにしたら?

69 :名無しさん@そうだ選挙にいこう:2020/07/24(金) 10:24:16.75 .net
どうやって?

70 :名無しさん@そうだ選挙にいこう:2020/07/24(金) 10:40:35.91 .net
アグリゲートってなんだ?

71 :名無しさん@そうだ選挙にいこう:2020/07/24(金) 11:13:16.78 .net
そこは自分で調べて理解しないと。

72 :66:2020/07/24(金) 11:55:05.05 .net
<<67
オートフィルターメソッドのことですか?一応オートフィルターメソッドは使ってます。ありがとうございました。

<<68
初めて見る関数です。調べてみたいと思います。ありがとうございました。

なにぶん初心者なんで分からない事だらけで困ってます。

73 :66:2020/07/24(金) 11:56:00.52 .net
>>72
不等号の向きを間違えました。すみません。

74 :名無しさん@そうだ選挙にいこう:2020/07/24(金) 12:51:57.90 .net
>>70
サブトータルよりアグリゲートよく使ってるわ

75 :名無しさん@そうだ選挙にいこう:2020/07/24(金) 16:13:54.86 .net
100日後に死ぬアグリゲート

76 :名無しさん@そうだ選挙にいこう:2020/07/24(金) 21:38:40.95 .net
sumproductはオワコンなのか?

77 :名無しさん@そうだ選挙にいこう:2020/07/24(金) 21:42:00.95 .net
>>76
オワコンって訳じゃないけど
・範囲が見えない、うまく使わないと重くなりやすい。
・範囲が見えない、計算ミスの可能性が出やすい
・計算式が複雑になると見づらくなる

そもそも作業列の方が使い勝手がいいかなーとは思う

78 :名無しさん@そうだ選挙にいこう:2020/07/24(金) 21:57:51.39 .net
>>77
めちゃくちゃ重いじゃん

79 :名無しさん@そうだ選挙にいこう:2020/07/24(金) 22:04:45.25 .net
>>78
そこはケースバイケース
例えば頻度にしても毎日使うならみやすさ犠牲にしてsumproduct()にしても良い
重くても月1なら我慢しても良い
個人的には見出しがある方が使い勝手が良い
重くてもミスが減るならPCを買い替えてもらうという選択肢もあるし、
多少ミスってもいいような資料ならPCは買い換えられないなど
更に言うならクラウドにするという選択肢もアリか

どちらが良いというものではないね

80 :名無しさん@そうだ選挙にいこう:2020/07/24(金) 22:11:37.46 .net
=SUMPRODUCT((○○=&#9747;&#9747;)*(□□=△△),●●)
みたいなのはSUMIF INDEX MATCHの方がいいよね

81 :名無しさん@そうだ選挙にいこう:2020/07/24(金) 22:15:21.78 .net
>>80
そうそう、多少重さは犠牲にしても見やすさを重視する方が良いと思う
SUMPRODUCTをよほど極めてるならSUMPRODUCT一本でもいいと思うけど、俺には無理だ

82 :名無しさん@そうだ選挙にいこう:2020/07/24(金) 22:25:38.30 .net
>>80
どうやんのそれ?

83 :名無しさん@そうだ選挙にいこう:2020/07/24(金) 23:13:27.07 .net
http://imgur.com/1QQj1LZ.png
http://imgur.com/5ZzdK8f.png

84 :名無しさん@そうだ選挙にいこう:2020/07/24(金) 23:44:05.11 .net
sumifs(offset(MATCH、
のほうが追いかけられて好き

85 :名無しさん@そうだ選挙にいこう:2020/07/24(金) 23:58:39.02 .net
>>84
高さがいつもわけ分からなくなる

86 :名無しさん@そうだ選挙にいこう:2020/07/25(土) 00:06:59.14 .net
>>85
表の最後に /END っていうセルをいれておいてMATCHでサイズを計る

87 :名無しさん@そうだ選挙にいこう:2020/07/25(土) 00:55:45.28 .net
>>86
こういう事?
offsetってイマイチわからないわ
行数と幅は省略でもよさそうだけど
http://imgur.com/5SH4A7n.png

88 :名無しさん@そうだ選挙にいこう:2020/07/25(土) 01:03:21.30 .net
高さもSUMIFの範囲で指定してあるから省略でもよくね?

89 :名無しさん@そうだ選挙にいこう:2020/07/25(土) 01:03:24.14 .net
>>87
そんな感じ
条件の範囲もoffsetにしとけば
表のサイズが変動しても対応してくれる

90 :名無しさん@そうだ選挙にいこう:2020/07/25(土) 01:10:19.20 .net
SUMPRODUCTじゃダメなん?
=SUMPRODUCT(($B$3:$B$12=$B15)*INDEX($C$3:$G$12,,MATCH(C$14,$C$2:$G$2,0)))

91 :名無しさん@そうだ選挙にいこう:2020/07/25(土) 01:11:36.32 .net
>>90
重いんだもん

92 :名無しさん@そうだ選挙にいこう:2020/07/25(土) 01:20:10.16 .net
B:B、2:2
みたいな指定で、表のサイズが変わっても使えるようにしたい

93 :名無しさん@そうだ選挙にいこう:2020/07/25(土) 01:46:18.01 .net
>>92
そうそう
そうしたくて色々やってるけど酔っ払ってて頭こんがらがってきた
出来てんのか出来てないのかわからん
SUMIFの合計範囲のOFFSETのMATCHのOFFSETのMATCHとか頭おかしくなるわ
http://imgur.com/2RO6kwE.png

94 :名無しさん@そうだ選挙にいこう:2020/07/25(土) 02:06:15.94 .net
何で表のサイズに縛られないテーブルの構造化参照を使わないの?

95 :名無しさん@そうだ選挙にいこう:2020/07/25(土) 02:17:01.79 .net
>>83の2枚目をテーブル化でいいじゃん

96 :名無しさん@そうだ選挙にいこう:2020/07/25(土) 09:41:05.12 .net
色々書いてもらって悪いが、酔っ払いはとりあえず消えてくれw
この質問に回答できる人よろしく

>>82
>>80
>どうやんのそれ?

97 :名無しさん@そうだ選挙にいこう:2020/07/25(土) 10:08:47.85 .net
>>96
書いてあるが

98 :名無しさん@そうだ選挙にいこう:2020/07/25(土) 12:15:40.42 .net
合ってるかどうかはしらんけど>>93が大体それだろう
ただこんなややこしい式は真似しないほうがいいと思う

99 :名無しさん@そうだ選挙にいこう:2020/07/25(土) 13:11:31.78 .net
ユーザーフォームを呼び出すシート(Sheet1)のコンボボックスに
同ブック上別シート(Sheet2)のA1:A30項目をプルダウン表示させたいのですが
その際、重複項目と空欄を省いた状態で表示させるコードを教えて頂ける方いませんでしょうか

初心者には見当もつかず よろしくお願い致します

100 :名無しさん@そうだ選挙にいこう:2020/07/25(土) 13:47:09.11 .net
いいけど、何をやりたいのか、その説明ではわからないので、書き直してもらえますか?

101 :名無しさん@そうだ選挙にいこう:2020/07/25(土) 14:12:07.72 .net
>>96
一応>>83で書いたんだけど
>>93は自分で書いてて「誰がこんなん使うねん」って思ったわ

102 :名無しさん@そうだ選挙にいこう:2020/07/25(土) 14:55:36.89 .net
>>43
>>49
正解は全組合せ4096の内216が該当でいいですか?
vbaだったらforの6回ネストで簡単なのですがmodで全組合せを羅列するのは難しくないですか?
mod関数での全組合せ表現の方法を教えて頂けたらありがたいです。

103 :名無しさん@そうだ選挙にいこう:2020/07/25(土) 15:03:49.80 .net
>>102
216組は>>48の例で示して頂いた合計11の場合の数です。

104 :名無しさん@そうだ選挙にいこう:2020/07/25(土) 15:05:17.71 .net
99 詳細ですが
Sheet1に必要項目をユーザーフォームで入力していきたいんですが
その際Sheet2のマスターデータのA列から選択してコンボボックスのリストに表示させたいのです。
Sheet2には重複項目や空欄項目がありリストに列を表示させると同じ項目や空欄が表示されてしまうので
なくしたいのです。 よろしくお願いいたします

105 :名無しさん@そうだ選挙にいこう:2020/07/25(土) 15:40:01.51 .net
表示形式のBとNとnって何ですか
=TEXT(NOW(),REPT(CHAR (SEQUENCE(127-32,,32)),SEQUENCE(,6)))
BBやbは仏歴のbみたいです

106 :名無しさん@そうだ選挙にいこう:2020/07/25(土) 19:50:47.92 .net
>>104
どこかにコピペして、重複削除してからリストの範囲を再設定。
もしくはAdvancedFilterで引数UniqueをTrueで抜き出して、範囲を再設定。

107 :102:2020/07/25(土) 20:03:06.49 .net
>>43
解決しました。
INTも必要でした。

=INT(MOD(+ROW()/(4^n)-(1/4)^n,4))+1

n = 0 → 5>>43

108 :名無しさん@そうだ選挙にいこう:2020/07/25(土) 20:52:40.37 .net
99 Sheet2の内容は常に変わるので、コピーとかしたくありません
よろしくお願い申し上げます。

109 :名無しさん@そうだ選挙にいこう:2020/07/25(土) 20:58:53.92 .net
>>108
=UNIQUE(FILTER(Sheet2!A:A,Sheet2!A:A<>""))

110 :名無しさん@そうだ選挙にいこう:2020/07/25(土) 21:01:20.22 .net
>>105
https://docs.microsoft.com/ja-jp/dotnet/standard/base-types/custom-date-and-time-format-strings
nはたしか「分」ではなかったかな

111 :名無しさん@そうだ選挙にいこう:2020/07/25(土) 23:04:01.96 .net
取得と変換使いこなしたいけどなんかいい解説サイトとかないかなオフィス田中は観てるけど違う角度の解説とかも参考にして学びたい

112 :名無しさん@そうだ選挙にいこう:2020/07/25(土) 23:34:43.97 .net
>>110
ありがとうございます。頂いた回答からこれらのページに辿りつきました
n、nn
https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/format-function-visual-basic-for-applications
B1、B2
https://docs.microsoft.com/ja-jp/dotnet/api/documentformat.openxml.spreadsheet.numberingformats?view=openxml-2.8.1
https://answers.microsoft.com/en-us/msoffice/forum/all/hijri-date-conversion-to-gregorian-date-in-excel/81328470-a89d-4b91-a1d7-312c61c417e1

113 :名無しさん@そうだ選挙にいこう:2020/07/25(土) 23:37:16.81 .net
>>111
正直、シリアル値がわかっていればもう得に勉強する必要もない
元になる値を変換しているだけ

114 :名無しさん@そうだ選挙にいこう:2020/07/26(日) 08:29:49.45 .net
知識はあるけど問題解決に結びつけられない人ってどこにでもいるよね

115 :名無しさん@そうだ選挙にいこう:2020/07/26(日) 15:32:46.70 .net
質問があります。

A1に数字を入力すると、
複数のセルを使って関数を駆使し、
結果として一つの数字がB1に出力されるような場合、

A1を0〜100の範囲で1ずつ増やしながら、
A1をx軸、B1をy軸としたグラフを作ることはできませんでしょうか。
A1とB1を表にするのは大変なので、表にせずにグラフ化したいのです。

116 :名無しさん@そうだ選挙にいこう:2020/07/26(日) 16:09:51.53 .net
>>115
グラフの種類を「散布図」にすれば希望の結果が得られると思う

117 :名無しさん@そうだ選挙にいこう:2020/07/26(日) 16:33:18.30 .net
>>116
ありがとうございます。
しかし、質問の意図が伝わっていないかもしれません。

やりたいことは、例えば、
A1→100
A2→=A1*100
A3→=A1/100
A4→=A2+30
B1→=A2+A3+A4
とあった場合、
A1を0〜100まで一つずつ増やした場合の
A1をx軸、B1をy軸としたグラフを書きたいのです。

A1、A2、A3、A4、B1を0〜100個作って、
X、Y
0、30
1、230.01
2、430.02
3、630.03
...
と表を作ればグラフを作ることはできますが、面倒なので、
表を作らずに、A1に0〜100を代入した場合のグラフを作りたいのです。

118 :名無しさん@そうだ選挙にいこう:2020/07/26(日) 17:57:44.26 .net
>>117
残念ながらそういう機能は無い

ただ、グラフではなく2次方程式を解きたいだけならゴールシークって機能があるからそれを使えば良い

119 :名無しさん@そうだ選挙にいこう:2020/07/26(日) 18:19:50.72 .net
>>115
1件1行に計算式をまとめられませんか?
A列は0から100までの数字を設定する列、
B列は1個目の計算式(A2の計算式)を、
C列は2個目の計算式(A3の計算式)を、
D列は3個目の計算式(A4の計算式)を、
E列は4個目の計算式(B1の計算式)を設定したらあとは簡単。

120 :名無しさん@そうだ選挙にいこう:2020/07/26(日) 19:58:23.94 .net
それを書くのがとても面倒な気がします、、、

121 :名無しさん@そうだ選挙にいこう:2020/07/26(日) 20:48:46.74 .net
>>117
面倒ですか?
ならばVBAをつかって順にA1に値を挿入する方法を使えばあなたのやりたいことが実現できますよ
もっと複雑で面倒ですけどねwww

122 :名無しさん@そうだ選挙にいこう:2020/07/26(日) 20:50:50.67 .net
ひとつ式を書けばコピペとかオートフィルでドラッグできるからそんなに面倒ではないと思う

123 :名無しさん@そうだ選挙にいこう:2020/07/26(日) 21:22:55.75 .net
みなさんありがとうございました。
助かりました。
いったんグラフは諦めます。

>>118
ゴールシーク!
実はグラフとは別に、その方法も探していたのです!
非常に助かりました!!

124 :名無しさん@そうだ選挙にいこう:2020/07/26(日) 21:31:45.85 .net
>>118 さんのゴールシークを調べていたら、
What-If分析のデータテーブルを使えばグラフ作れました!
みなさんありがとうございました!!
簡単すぎる!Excel最高!

125 :名無しさん@そうだ選挙にいこう:2020/07/26(日) 23:09:16.43 .net
!!!

126 :名無しさん@そうだ選挙にいこう:2020/07/26(日) 23:10:07.64 .net
Control + ;

を入力したところ

通常であれば、 2020/07/26 と入力されるはずが、

7/26/2020 と入力される様になってしまいました。

どうすれば直りますか?

127 :名無しさん@そうだ選挙にいこう:2020/07/26(日) 23:27:04.87 .net
書式の変更

128 :名無しさん@そうだ選挙にいこう:2020/07/26(日) 23:31:39.30 .net
>>127
それがどのExcelブックで行っても


7/26/2020


になってしまうのです。

129 :名無し募集中。。。:2020/07/26(日) 23:34:35.47 .net
>>128
言語設定が日本になってる?

130 :名無しさん@そうだ選挙にいこう:2020/07/26(日) 23:35:46.10 .net
新しく入社した会社の社内文章がほぼエクセル

エクセルで表入りの文書作る時って
学生時代から方眼紙コマ割り風に調整してから
枠指定して作成していたのだけど
今日、会社の先輩に注意されてしまった…

枠ごとに幅調整して作った方が良いのかね?
方眼紙に当て嵌めた方が、あとから行列追加も簡単だし
幅調整考えなくていいからと思ってたんだけど

131 :名無しさん@そうだ選挙にいこう:2020/07/26(日) 23:38:58.29 .net
>>129
Excelのバグだった様です。再起動したらなおりました。

132 :名無しさん@そうだ選挙にいこう:2020/07/26(日) 23:57:32.82 .net
エクセルで表入りの「文書」?
どうでもいいんじゃね?
「データ」なら困るけど。

133 :名無しさん@そうだ選挙にいこう:2020/07/26(日) 23:59:21.71 .net
>>130
社会人だが、俺は方眼紙派。
計算しない文書なら方眼紙のほうが便利だよね。

「Excel方眼紙」は悪か、否定派と肯定派が激論
https://xtech.nikkei.com/it/atcl/column/14/346926/100101144/

134 :名無しさん@そうだ選挙にいこう:2020/07/27(月) 00:01:47.20 .net
>>132
あんまりうまい言い方が判らなかったが
別に計算とか一切ない、エクセルじゃなくてもいいような
社内文章もエクセル形式管理なのよ

別ソフトで吸い上げや読み取りする訳でも無いから良いジャン
とか思ってたから注意されたのが意外だったのよね

135 :名無しさん@そうだ選挙にいこう:2020/07/27(月) 00:11:16.19 .net
否定派と肯定派が激論って、肯定派いたんかい!

136 :名無しさん@そうだ選挙にいこう:2020/07/27(月) 00:18:29.15 .net
Excelのシートごとにレイヤー機能があったら社内文章がもっと楽に作れるのにな

137 :名無しさん@そうだ選挙にいこう:2020/07/27(月) 00:39:17.82 .net
ナビタイムで検索した店舗をエクセルで一覧にできますか?

https://www.navitime.co.jp/freeword/?keyword=%E3%83%9E%E3%83%83%E3%82%AF%E3%82%B9%E3%83%90%E3%83%AA%E3%83%A5&type=spot&from=freeword.spotlist

138 :名無しさん@そうだ選挙にいこう:2020/07/27(月) 01:03:50.83 .net
なぜ日本にはExcel職人はたくさんいるのにWord職人はいないのか

139 :名無しさん@そうだ選挙にいこう:2020/07/27(月) 01:16:00.55 .net
Wordて始末書、顛末書、改善報告書の提出求められた時しか使わねえからな

140 :名無しさん@そうだ選挙にいこう:2020/07/27(月) 01:22:44.53 .net
>>138
ショートカットがExcelと統一性に欠けるから覚えられない
故にExcelの方が楽

141 :名無しさん@そうだ選挙にいこう:2020/07/27(月) 07:57:41.03 .net
>>138
改行はshift+enterで段落変更がエンターったことを知ってる人すら1/10人もいないんじゃないか?

>>130
エクセル方眼紙は他のエクセルから数値を貼り付け出来ないから物凄い嫌われてる
些細なレイアウトのために使い勝手犠牲にする自己満足

最終的な用途が枠に手書きで書き込むんじゃなければセルの結合はやらないほうがいい

文字を中央に配置したいなら範囲を指定したあと書式設定で範囲内で中央っての使え

142 :名無しさん@そうだ選挙にいこう:2020/07/27(月) 08:38:08.89 .net
いや、余計なお世話ですw
印刷するのに便利なのでこうしてるだけですから。他のエクセルからコピペできない?そんな問題あったらそもそも運用してませんから。

143 :名無しさん@そうだ選挙にいこう:2020/07/27(月) 09:59:45.89 .net
>>137
できないことはないけど一発じゃ無理
けっこう手間がかかって面倒だしスキルも必要
手作業で入力しなおすよりは間違いなくできるけど、ハードル高いよ

144 :名無しさん@そうだ選挙にいこう:2020/07/27(月) 10:17:43.97 .net
いえ1発でできますよこの程度なら

145 :名無しさん@そうだ選挙にいこう:2020/07/27(月) 10:33:37.37 .net
>>138
基本的に文書はワードを使う派だけど、スタイル設定してる段落の書式変更したらスタイルが解除されるのは何とかしてほしい
組版はワードに任せろって言うのは理解できるし俺個人なら許容するけどこの段落は次のページに持って行けと言う上司の存在がある限り面倒で仕方ない

146 :名無しさん@そうだ選挙にいこう:2020/07/27(月) 11:17:54.07 .net
>>144
どうやるんですか?教えて下さい
1ページに20軒ずつで、88ページ目まであります
店名、住所、電話番号、分類の部分だけを一覧表にしたいんですが

147 :名無しさん@そうだ選挙にいこう:2020/07/27(月) 11:20:16.26 .net
俺は一太郎で作ってWord形式で保存してる

148 :名無しさん@そうだ選挙にいこう:2020/07/27(月) 11:51:49.94 .net
そんな分量ならコピペしろよ、、、

>>146
>>144
>どうやるんですか?教えて下さい
>1ページに20軒ずつで、88ページ目まであります
>店名、住所、電話番号、分類の部分だけを一覧表にしたいんですが

149 :名無しさん@そうだ選挙にいこう:2020/07/27(月) 12:04:51.83 .net
>>142
単一セルのデータを結合セルに貼り付けるとエラー出ることも知らんとか…

同意してほしかっただけとか女の相談なら先に言えよ

先輩含めて普通の反応は>>135

150 :名無しさん@そうだ選挙にいこう:2020/07/27(月) 12:09:33.65 .net
>>148
ほかに方法がなければコピペ88回も考えますが、一発でできるそうなので楽な方法を知りたいのです

151 :名無しさん@そうだ選挙にいこう:2020/07/27(月) 12:18:04.76 .net
コピペ5回で済むだろ

152 :名無しさん@そうだ選挙にいこう:2020/07/27(月) 12:42:54.92 .net
>>143
スクレイピングっていうやつですか??

153 :名無しさん@そうだ選挙にいこう:2020/07/27(月) 12:44:17.42 .net
スクレイピングならコピペいらんだろ
ほれ
https://share.icloud.com/photos/083fZYY4ROugaTjDPQzxQw4yQ

154 :名無しさん@そうだ選挙にいこう:2020/07/27(月) 13:01:19.67 .net
>>153
エラー

155 :名無しさん@そうだ選挙にいこう:2020/07/27(月) 15:27:47 .net
まだですか?
本当に困っているので早く教えてもらいたいです!

156 :名無しさん@そうだ選挙にいこう:2020/07/27(月) 17:35:50.47 .net
>>151
その方法を教えて下さいませんか?

157 :名無しさん@そうだ選挙にいこう:2020/07/27(月) 20:20:00.82 .net
>>137ですが、
まだ解決していないので引き続き、解決法を求めております
関係のない書き込みは無視しています

158 :名無しさん@そうだ選挙にいこう:2020/07/27(月) 22:28:07 .net
>>155
あんた誰?

159 :名無しさん@そうだ選挙にいこう:2020/07/27(月) 22:37:23 .net
>>130
正直完全な文書なら方眼紙の方が便利だけどね
方眼紙にしないとマスが増えると全部微調整しなおしって事になる
変更が無いものに方眼紙はカッコワルイけど、個人的にはどっちでもいいんじゃね?と思う

>>135
どっちでもいい派
早く作れる方で作れば良い
ただデータが多い場合は方眼紙は止めて欲しい

>>137>>157
サイトをa14にテキスト貼り付け。あとはrowとindirectの組み合わせでぴこぴこやれば行ける
https://dotup.org/uploda/dotup.org2211931.xlsx

160 :名無しさん@そうだ選挙にいこう:2020/07/27(月) 22:38:34 .net
88回コピペするのですか?

161 :名無しさん@そうだ選挙にいこう:2020/07/27(月) 22:54:42 .net
>>160
実はスクレイピングはサイトによって大幅にコードが変わる
実際取得したいのはナビタイムじゃなくて他のサイトだろう

具体的にはソースの位置はもちろん、連続アクセスにひっかかったり広告位置が変わったりロード待ったりで本当にサイト次第
あと最難関は恐らくajaxで、これが絡むとソースから取得出来ないので俺はやらん
正直、手動の方がコード書くより楽

どうしてもスクレイピングしたいなら、以下のページがまとまってるから一度勉強して地力を付けた方が良い
https://tonari-it.com/ie-setting-navigate/

162 :名無しさん@そうだ選挙にいこう:2020/07/27(月) 22:56:42 .net
派遣の仕事でよくVBA開発の求人あるけどそれに就くには相当なスキルいるものですか?趣味程度で簡単なシステム作れる程度じゃ無理?

163 :名無しさん@そうだ選挙にいこう:2020/07/27(月) 23:18:36.86 .net
>>162
体験で一回だけ行ったわ
質問に応えると、とりあえずset辺り使えるならまぁまぁ行けると思う。

以下、感じたこと
・零細企業に居候みたいな形で常駐
・クソみたいなクッソ古いコードをシコシコ保守
・大規模開発には全く向いてない言語ということを改めて気付かされる。予想以上にキツイ
・とにかく貧弱すぎるIDEが苦行
・その会社のvbaコード以外の知識は全くつかない。潰しは効かない
・どう考えてもシステムごと変えたほうがいいと思ってても死んでも言ってはいけない
・生産性はマイナス。存在価値はない
・在宅は一切ない
・上記の通りウンコすぎるので人がいない。供給がなさすぎるので給料はそこそこ良い

俺には無理だった

164 :名無しさん@そうだ選挙にいこう:2020/07/27(月) 23:24:40.35 .net
>>163
詳しくありがとうございます。

趣味にしといた方がいいみたいですね!

165 :名無しさん@そうだ選挙にいこう:2020/07/27(月) 23:25:40.37 .net
>>164
だねぇ
エクセルの補佐としてはめちゃくそ便利なんだけどね、vba
これを主体にすると、死

166 :名無しさん@そうだ選挙にいこう:2020/07/28(火) 00:31:56.23 .net
>・その会社のvbaコード以外の知識は全くつかない。

ホントそうなるよな。
Win32APIが使えるから、その気になれば大抵のことは出来ちゃうので、
他の言語じゃないと出来ませんって言えないし。

167 :名無しさん@そうだ選挙にいこう:2020/07/28(火) 08:11:34.50 .net
そもそも派遣じゃん
ダメだろこの時点で

168 :名無しさん@そうだ選挙にいこう:2020/07/28(火) 08:31:12.19 .net
正社員も派遣も同じ。
今残っているのは客先常駐で保守案件のみ

169 :名無しさん@そうだ選挙にいこう:2020/07/28(火) 09:11:22 .net
んなわけねーだろw
派遣ってなんかいつも焦ってるよな


>>168
>正社員も派遣も同じ。
>今残っているのは客先常駐で保守案件のみ

170 :名無しさん@そうだ選挙にいこう:2020/07/28(火) 09:45:24.27 .net
>>161
それでいいのでナビタイムでやる方法を教えてください。

171 :名無しさん@そうだ選挙にいこう:2020/07/28(火) 10:00:09.31 .net
>>170
一発でできるんだけど
君がこっちに完全に丸投げレベルのスキルみたいだから
コピペ5回コースで妥協しておきな。

汎用性があることなら対応するんだけど
特定URLだけでしか動かないやつを
ゼロからこちらに投げられても
舐めんなとしか言いようがないというか。

172 :名無しさん@そうだ選挙にいこう:2020/07/28(火) 13:56:57.87 .net
本当は知らないのに教えないフリをするクズw

173 :名無しさん@そうだ選挙にいこう:2020/07/28(火) 14:56:20.01 .net
>>137
https://www.aeonretail.jp/maxvalu/
できたよ!

174 :名無しさん@そうだ選挙にいこう:2020/07/28(火) 15:40:09.74 .net
>>173
全然足りないじゃん
ナビタイムのリストよく見てみ

175 :牧野 :2020/07/28(火) 19:57:29.71 .net
>>169
本当。一時本気でvbaで仕事を探したことがあるけど、正社員で客先常駐(実質派遣会社の正社員)か、派遣で客先常駐かしかない
仕事内容は一緒って意味だし、vbaだとキャリアなんて積めない
一番ひどかったのは、ローカルにあるC2DのPCをサーバーにしてAccess2003と2016が同時に快適に動くようにしてくれって要望
正社員と派遣、どっちが上じゃない、両方クソだった。俺は両方で体験入社したけど会社によるとしか言えない
これはカンだけど、タイミングさえ合えばまったり零細でのびのび帳票を自動出力するだけの仕事があると思う

>>170
ごめん、無理だった
酒のんで気分いいしやったるべ〜って試してたら3ページなのに速攻でアク禁食らった
まぁスクレイピングってこういう事なんですわって事が分かってくれればそれでいいと思う。ちなみにこのコードは修正中なので動かない
Sub foo()
For i = 1 To 3
sample ( "https://www.navitime.co.jp/freeword/?keyword=%E3%83%9E%E3%83%83%E3%82%AF%E3%82%B9%E3%83%90%E3%83%AA%E3%83%A5&p=" & i & "&type=spot&mode=", i )
Next
End Sub
Sub sample(url, ページ)
Set objIE = CreateObject("InternetExplorer.Application")
'IE(InternetExplorer)を表示する
objIE.Visible = True
Set objIE2 = objIE.Application
objIE2.navigate url
Do While objIE2.Busy = True Or objIE2.readyState <> 4
DoEvents
Loop
行で分割したソース = Split(objIE2.document.body.innerHTML, vbCrLf) '改行で縦一列に並べて分割っとかなんとか
For Each k In 行で分割したソース
Cells(, ページ) = k
Next
End Sub

176 :牧野 :2020/07/28(火) 19:58:20.66 .net
スクレイピングしたいならdoloopが必要になる
以下を参照にしてね
https://so-zou.jp/software/tech/programming/vba/sample/web.htm

177 :名無しさん@そうだ選挙にいこう:2020/07/28(火) 20:24:06.76 .net
動くコードももらえますか?

178 :牧野 :2020/07/28(火) 21:32:04.60 .net
>>177
残念ながらもう俺は試す事ができない
俺は誰にでも公平に全力で回答するけど、俺が回答できないなら他に頼るか自分でがんばるしかない
俺は横柄な回答者にも公平に回答するけど、他に回答が付くかは分からない
最初に>>161で言った通り、サイトによってコードは大幅に変わるのでvbaでのスクレイピングは地力をつけるしかないよ
とりあえずナビタイムのスクレイピングはコードをもらっても意味がない、最初から目的のサイトでのスクレイピングを聞いたほうが良い

179 :牧野 :2020/07/28(火) 21:33:21.96 .net
もうちょい言うと、恐らく3ページじゃなくてUAで判定してるんだろうけど
そっちの方がはるかにキツイ

180 :名無しさん@そうだ選挙にいこう:2020/07/28(火) 21:53:34.14 .net
糞コード貼り付けるなよ

181 :名無しさん@そうだ選挙にいこう:2020/07/29(水) 00:11:15.22 .net
今日は無事Excelを起動できたが、
明日起動しようとしたらJPEGになってたらどうしよう・・。

182 :名無しさん@そうだ選挙にいこう:2020/07/29(水) 01:39:17.28 .net
>>174
https://i.imgur.com/VkzOi78.png
できたよ!

183 :名無しさん@そうだ選挙にいこう:2020/07/29(水) 08:40:49.16 .net
ありがとうございます!
ナビタイムでもやってもらえないでしょうか?

184 :名無しさん@そうだ選挙にいこう:2020/07/29(水) 12:13:32.84 .net
>>179
>もうちょい言うと、恐らく3ページじゃなくてUAで判定してるんだろうけど
>そっちの方がはるかにキツイ

んなわけねーべ
ちょっとウエイト入れたら余裕で全部スクレイプできたわ
しかもお前のコードだとちゃんとParseできねーぞ?

185 :名無しさん@そうだ選挙にいこう:2020/07/29(水) 13:04:26.14 .net
ナビタイムの結果に見えるが…?

186 :名無しさん@そうだ選挙にいこう:2020/07/29(水) 13:28:03.84 .net
>>184
ウェイトかければよかっただけとは、スマンかった

パースは後回しにして連続アタックがどうなるか試してみたんだ
その後アクセスするとエラーor画面真っ白
(chromeでも)

187 :名無しさん@そうだ選挙にいこう:2020/07/29(水) 13:29:00.35 .net
セルに
=sum2
=int8
と入れると「0」が返ります
どのように評価されているのでしょうか?
=text0
は#NAME?エラーでした

188 :名無しさん@そうだ選挙にいこう:2020/07/29(水) 13:38:37.63 .net
Win10のChromeとFireFoxとEdgeで試したけど20件ずつしか表示されない
どうやったら3ページ(600件ずつ?)になるんだ

189 :名無しさん@そうだ選挙にいこう:2020/07/29(水) 13:51:25.38 .net
お前理解が周回遅れ以下。
88回ページネーションすんだよ。

190 :名無しさん@そうだ選挙にいこう:2020/07/29(水) 14:02:49.90 .net
>>187
セルアドレス
xlsxのシートなら、右端がXFDだから、セルSUM2もINT8も存在するよ

191 :名無しさん@そうだ選挙にいこう:2020/07/29(水) 14:14:55.58 .net
0.1秒間隔で全88ページ落としてみたけど別にアクセス制限なんかかかってないなあ
所要時間9秒程度だと連続アタックにはならないのか?

192 :名無しさん@そうだ選挙にいこう:2020/07/29(水) 14:24:34.00 .net
179は明らかに仕事できない人。ただの勘違いだろう。

193 :名無しさん@そうだ選挙にいこう:2020/07/29(水) 14:46:45.16 .net
よく見るとストア内のテナントとか社員研修施設とか混ざってんだけど
せめて分類コードか何かでフィルタリングしとかんと意味ないだろ
https://i.imgur.com/YvRaVUA.jpg

194 :名無しさん@そうだ選挙にいこう:2020/07/29(水) 14:51:49.70 .net
データの重複がけっこうあるな
表記揺れで別の店と認識するのはしょうがないとして、住所が同じなのに座標が違うのはどういうことだ

195 :名無しさん@そうだ選挙にいこう:2020/07/29(水) 15:41:01.20 .net
元データが腐ってるね。

196 :名無しさん@そうだ選挙にいこう:2020/07/29(水) 15:47:59.64 .net
そのデータでいいのでください!

197 :名無しさん@そうだ選挙にいこう:2020/07/29(水) 16:10:17.94 .net
>>196
どうぞ!
https://dotup.org/uploda/dotup.org2213110.xlsx.html

198 :牧野 ◆Vbs7gX72NY :2020/07/29(水) 20:40:59 .net
>>190
あーそういう事か、sum(8)と等価なのかとか色々考えてたわ、ありがとうスッキリ

199 :名無しさん@そうだ選挙にいこう:2020/07/29(水) 21:05:18 .net
何なのお前?

200 :名無しさん@そうだ選挙にいこう:2020/07/29(水) 21:46:01.04 .net
セルアドレスがたまたま関数名と同じになる列はけっこうたくさんあるね
バグが出た時にうっかり見落としそう
IF、OR、PI、ABS、AND、ASC、COS、DAY、EXP、INT、JIS、LEN、LOG
MAX、MID、MIN、MOD、NOT、NOW、ODD、ROW、SIN、SUM、TAN

201 :名無しさん@そうだ選挙にいこう:2020/07/29(水) 21:58:33.80 .net
本気で言ってんの?

202 :名無しさん@そうだ選挙にいこう:2020/07/30(木) 13:08:47.41 .net
>>197
>>196
>どうぞ!
https://dotup.org/uploda/dotup.org2213110.xlsx.html

コード入ってないじゃん

203 :名無しさん@そうだ選挙にいこう:2020/07/30(木) 13:16:56.44 .net
>>202
入れてませんよ?

204 :名無しさん@そうだ選挙にいこう:2020/07/30(木) 13:43:31.79 .net
=IF1+(OR2+ABS3-AND4*INT5-LEN6+(MAX7+MIN8)+MOD9+NOT10)+ROW11+(SIN12+SUM13)

205 :名無しさん@そうだ選挙にいこう:2020/07/30(木) 15:21:08.22 .net
スクレイピングって素人理解できます?

206 :名無しさん@そうだ選挙にいこう:2020/07/30(木) 15:57:47.91 .net
素人が理解できるよう説明する責任があるね、ここの人は。

207 :名無しさん@そうだ選挙にいこう:2020/07/30(木) 16:31:00.84 .net
88ページ読み込むのに70秒ぐらいかかる

Option Explicit
Dim httpObj As Object
Public Sub GetNAVITIMElist()
 Dim p%, pp%, i%, r%, a$(), s$, t$, url$
 Set httpObj = CreateObject("MSXML2.ServerXMLHTTP")
 url = "https://www.navitime.co.jp/freeword/?keyword=%E3%83%9E%E3%83%83%E3%82%AF%E3%82%B9%E3%83%90%E3%83%AA%E3%83%A5&type=spot&from=freeword.spotlist&p="
 pp = Int((Val(Split(GetUrl(url), "(1/")(1)) + 19) / 20) - 1
 For p = 0 To pp
  a = Split(GetUrl(url & p), " class=""")
  For i = 1 To UBound(a)
   s = a(i)
   t = Replace(Replace(Split(Split(s, ">")(1), "<")(0), "&lt;", "<"), "&gt;", ">")
   Select Case Split(s, """")(0)
    Case "candidate_link": r = r + 1: Cells(r, 1) = t
    Case "address_name": Cells(r, 2) = t
    Case "phone_area": Cells(r, 3) = "'" & t
    Case "spot_category_name": Cells(r, 4) = t
   End Select
  Next
 Next
 Set httpObj = Nothing
End Sub
Function GetUrl$(url$)
 httpObj.Open "GET", url
 httpObj.Send
 Do While httpObj.readyState < 4
  DoEvents
 Loop
 GetUrl = httpObj.responseText
End Function

208 :名無しさん@そうだ選挙にいこう:2020/07/30(木) 17:24:58 .net
動かないじゃん

209 :名無しさん@そうだ選挙にいこう:2020/07/30(木) 17:33:56 .net
検索結果をよく見ると、名前にも住所にも「マックスバリュ」が入ってない項目がいっぱいあるんだけど
いったい何を見せられてるんだ?

210 :名無しさん@そうだ選挙にいこう:2020/07/30(木) 18:19:25 .net
ソースのサイトくらいみろよ、、、

211 :牧野 :2020/07/30(木) 18:47:46.77 .net
>>208
動いたぞ
https://i.imgur.com/AKWS079.png

212 :名無しさん@そうだ選挙にいこう:2020/07/30(木) 19:01:40 .net
>>207
すげえ。
これ分かるのにどれくらいかかりました?VBA歴何年位ですか?

213 :名無しさん@そうだ選挙にいこう:2020/07/30(木) 20:54:16.05 .net
DOMつかってないし
ボタン押してないし
まいいんだけどね

214 :名無しさん@そうだ選挙にいこう:2020/07/30(木) 20:59:26.75 .net
何でマックスバリューとカンケーない奴らがたくさん混じってんだよ!邪魔だ!

215 :名無しさん@そうだ選挙にいこう:2020/07/30(木) 21:07:52.44 .net
>>205
xlsxやcsvファイルでなくて、Webサイトの特定文字列なんかを
Excelでやるなら、こんな感じ。

Web Scraping In Power BI And Excel Power Query
https://datachant.com/2017/03/30/web-scraping-power-bi-excel-power-query/

216 :名無しさん@そうだ選挙にいこう:2020/07/30(木) 21:19:39.99 .net
それ素人が理解できますかね?
質問、理解してます?

217 :名無しさん@そうだ選挙にいこう:2020/07/30(木) 21:24:54.35 .net
>>215
いいね

218 :名無しさん@そうだ選挙にいこう:2020/07/30(木) 21:49:51.16 .net
このスレID付けたほうがいいよね

219 :名無しさん@そうだ選挙にいこう:2020/07/30(木) 22:53:04.77 .net
単純なスクレイピングはWEBクエリより自分で書いた方が早いまである
価格comの詳細検索を一気に落としてExcelのオートフィルタで機種選びとかよくやってる

220 :牧野 :2020/07/30(木) 23:09:45.36 .net
色々試したあげくapi使えば一瞬で終わるなんてことも

221 :名無しさん@そうだ選挙にいこう:2020/07/30(木) 23:10:17.46 .net
Web上のpdfファイルはPower Queryで読み込める模様
(スキャナ読み画像pdfを除く)

222 :名無しさん@そうだ選挙にいこう:2020/07/30(木) 23:24:59.85 .net
少なくともExcelでスクレイピングしようなんて考えるやつはセンスが無い

223 :名無しさん@そうだ選挙にいこう:2020/07/30(木) 23:39:00.97 .net
そんなあなたに

Pythonのお勉強 Part59
https://mevius.5ch.net/test/read.cgi/tech/1552194662/

224 :名無しさん@そうだ選挙にいこう:2020/07/30(木) 23:42:29.90 .net
>>218
毎スレで言われてる気がする

225 :牧野 :2020/07/30(木) 23:45:11.65 .net
>>223
pythonでスクレイピングしてもやることは>>207と大差ないよ
Xpathの使いやすさに違いはあると思うけど、pythonは環境構築と出力が手間になるので総合的にはvbaと労力は大差ない
個人的にはVBAの方が楽

個人的にはchrome拡張が非常に便利と思う。
https://blog.tanebox.com/archives/645/

226 :名無しさん@そうだ選挙にいこう:2020/07/30(木) 23:58:16.88 .net
中学生レベルのスキルなんだね

227 :名無しさん@そうだ選挙にいこう:2020/07/31(金) 01:09:19.55 .net
1ページ1秒弱とか遅すぎる
もっと早くできないものか

228 :名無しさん@そうだ選挙にいこう:2020/08/01(土) 11:38:35 .net
できる
パース処理に無駄な所が二箇所
ページごとじゃなくて全ページ処理する

半分の時間になったわ処理

229 :名無しさん@そうだ選挙にいこう:2020/08/01(土) 11:45:35 .net
httpオブジェクトを88個作って一気にGETすれば1秒で終わる
と妄想してみる

230 :名無しさん@そうだ選挙にいこう:2020/08/01(土) 11:46:01 .net
>>228
そのソース貼ってくれ

231 :名無しさん@そうだ選挙にいこう:2020/08/01(土) 15:53:54.61 .net
>>229
DoS攻撃やめれ

232 :名無しさん@そうだ選挙にいこう:2020/08/01(土) 16:04:46.41 .net
鯖側の仕様でGETで1秒待たされるのがどうしようもないね
たった1800件ならパース処理の無駄を省いても時間は大差ない
こんなもんか?もっと短縮できる?

Public Sub GetNAVITIMElist()
  Dim p%, i&, r%, a$(), s$, url$
  Set httpObj = CreateObject("MSXML2.ServerXMLHTTP")
  url = "https://www.navitime.co.jp/freeword/?keyword=%E3%83%9E%E3%83%83%E3%82%AF%E3%82%B9%E3%83%90%E3%83%AA%E3%83%A5&type=spot&from=freeword.spotlist&p="
  For p = 0 To Int((Val(Split(GetUrl(url), "(1/")(1)) + 19) / 20) - 1
    s = s & GetUrl(url & p)
  Next
  a = Split(s, " class=""")
  For i = 1 To UBound(a)
    s = Split(Split(a(i), ">")(1), "<")(0)
    Select Case Split(a(i), """")(0)
      Case "candidate_link": r = r + 1: Cells(r, 1) = s
      Case "address_name": Cells(r, 2) = s
      Case "phone_area": Cells(r, 3) = "'" & s
      Case "spot_category_name": Cells(r, 4) = Replace(Replace(s, "&lt;", "<"), "&gt;", ">")
    End Select
  Next
  Set httpObj = Nothing
End Sub

233 :sage:2020/08/01(土) 16:52:40.46 .net
リストボックスとかコンボボックスで選択したものを
今現在選択しているセルに出力する方法を教えてください。
「リンクするセル」に何て書けば良いでしょうか。

234 :名無しさん@そうだ選挙にいこう:2020/08/01(土) 17:23:26.56 .net
>>233
書き込みたいセル=ListBox1.valueもしくはListBox.text
これは例示なので、ListBox1のところはオブジェクトのnameプロパティを指定

235 :名無しさん@そうだ選挙にいこう:2020/08/01(土) 18:19:57.70 .net
>>234
オブジェクトのnameプロパティは、どうやって見るのですか?

236 :名無しさん@そうだ選挙にいこう:2020/08/01(土) 18:37:36.71 .net
>>235は撤回します。

下のように標準モジュールに書いたけどエラーでダメです。
どうしたらいいですか

Sub ボタン3_Click()
Dim shp As Shape
Set shp = Worksheets("sheet").Shapes("List Box 1")
ActiveCell.Value = shp.text ←これはエラー
ActiveCell.Value = shp.value ←これもエラー
End Sub

237 :名無しさん@そうだ選挙にいこう:2020/08/01(土) 19:39:22.72 .net
>>236
拾い物の画像で悪いが、リストボックスをセレクトした時に出るAのとこの名前を入力してやればいけると思うよ
https://i.imgur.com/5O9xDTg.jpg

238 :名無しさん@そうだ選挙にいこう:2020/08/01(土) 19:40:32.91 .net
>標準モジュールに
なんでやねん。
sheetでいいじゃん。

Sub ボタン3_Click()
 ActiveCell.Value = Me.ListBox1.Value
End Sub

名前弄れるようにしたいなら

Sub ボタン3_Click()
 ActiveCell.Value = Me.OLEObjects("List Box 1").Object.Value
End Sub

239 :牧野 :2020/08/01(土) 19:41:33.55 .net
>>236
captionかなんかだろって舐めてかかったらすげーめんどくさいなこれ
フォームコントロールとvbaはかなり相性が悪い。

Sub sample()
Set ctl = ActiveSheet.DropDowns("Drop Down 1")
Debug.Print Range(ctl.ListFillRange).Item(ctl.Value, 1)
End Sub

参考
https://excel-ubara.com/excelvba1/EXCELVBA436.html

言うまでも無いと思うけど標準機能使った方が良いと思う
https://dotup.org/uploda/dotup.org2215934.xlsx.html

240 :名無しさん@そうだ選挙にいこう:2020/08/01(土) 20:20:36 .net
フォームコントロールはレガシーだからできるだけ使うな、ActiveXを使えってガイドラインに出てなかったっけ?

241 :名無しさん@そうだ選挙にいこう:2020/08/01(土) 20:26:56 .net
配布したいんですよ。

242 :牧野 ◆Vbs7gX72NY :2020/08/01(土) 20:32:16 .net
>>240
数年前はActiveXサポート停止するからもう使うなよ〜って感じだったと思うけど、
そのサポートも伸びたみたいでかなりグダグダっぽい

>>241
マクロ入りファイルの配布は全くオススメできない
メール添付不可、先方で動かない、セキュリティソフトで排除など色々難関がある
googleドライブに突っ込んだらマクロ全部消されるレベル

243 :名無しさん@そうだ選挙にいこう:2020/08/01(土) 22:29:17 .net
添付不可っていつの時代の話だよ・・・。
batとvbsはいまだに不可だが。

244 :名無しさん@そうだ選挙にいこう:2020/08/01(土) 22:48:37 .net
余計なお世話。
配布したいってニーズは変わりませんよ。

245 :牧野 :2020/08/01(土) 22:58:51.30 .net
>>243
今調べたら出来るプロバイダとできないプロバイダ、OKになったりNGになったりと混沌としているな
とりあえずgmailは解除されたらしい

>>244
とりあえず>>239のコードで動くぞ
俺はvbaファイルの配布でえらい目を見たから配布は一切しなくなったわ
何が面倒って相手がxlsxと認識してない事が一番キツイ

246 :名無しさん@そうだ選挙にいこう:2020/08/01(土) 23:19:26.58 .net
添付制限なんてzipで固めて送ればいいんじゃないの?エクスプローラでフォルダ扱いになるんだから別に面倒でもないし

247 :牧野 :2020/08/01(土) 23:22:39.31 .net
>>246
中を簡単に見られる形式は当然弾かれるよ
マイナーな圧縮方式なら割と通るけど逆に先方にそれを説明するのが面倒

248 :名無しさん@そうだ選挙にいこう:2020/08/02(日) 00:07:05.77 .net
パスワードzipでいいよ

249 :牧野 :2020/08/02(日) 00:41:52.47 .net
>>248
それもやったけど引っかかる。zipはパスワード関係なくファイルを見る事ができる
パスワード付きzipをフォルダに入れて更にパスワードzipにすればok
本当にめんどくさい

250 :名無しさん@そうだ選挙にいこう:2020/08/02(日) 07:05:24.89 .net
その程度の運用しか想像できないなら黙ってたら
時間の無駄です

251 :名無しさん@そうだ選挙にいこう:2020/08/02(日) 07:13:59.99 .net
ニヤニヤ

252 :名無しさん@そうだ選挙にいこう:2020/08/02(日) 09:54:01.90 .net
牧野は頭にウンコしか詰まってねえ文字通りの胸糞悪いクソゴミ

253 :名無しさん@そうだ選挙にいこう:2020/08/03(月) 00:14:11 .net
とても初歩的な事だと思うのですが解決しないので教えて頂けないでしょうか
00:00
01:10…のような4桁の時間形式を分かりやすく書くためにEXCELを使用したいのですが、
分単位の00、間の:、秒の00、を分けて別セルに組み合わせるようにすると、0が消えてしまいます。
https://i.imgur.com/vcKwTHq.png
00 : 01 を組み合わせてそのまま00 : 01を出せるようにしたいのですが…
書式設定を触ってみたのですが出来ませんでした。
宜しくお願いします。

254 :名無しさん@そうだ選挙にいこう:2020/08/03(月) 00:20:39 .net
>>253
すいません。書式を文字列でいけました。申し訳ございません。

255 :名無しさん@そうだ選挙にいこう:2020/08/03(月) 07:43:31.05 .net
時刻として扱いたいならTIMEVALUE(A1&B1&C1)で書式をhh:mmの方が扱いやすいんじゃないかな

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

特定の商品E5をA4〜A1000で探し特定期間7月をB4〜B1000で探し
一致するC4〜C1000を集計するのに下記のようなSUMIFS構文を利用してるのですが
これだと期間を変えるのにExcelの式を都度修正せねばならず時間かかり間違いやすいので
どこかのセルに7月なら7と入力すれば7月1日〜7月末までが範囲になるようにしたいです
前提として期間は1日〜月末ですが6月1日〜7月末のように複数月の場合もあります
どうすればよろしいでしょうか

=SUMIFS($C$4:$C$1000,$A$4:$A$1000,$E5,$B$4:$B$1000,">=2020/7/1”,$B$4:$B$1000,"<=2020/7/31)

257 :名無しさん@そうだ選挙にいこう:2020/08/04(火) 12:19:21.48 .net
>>256
開始日と終了日を入れるセルを作って参照

258 :名無しさん@そうだ選挙にいこう:2020/08/04(火) 12:20:52.91 .net
">="&a1

259 :名無しさん@そうだ選挙にいこう:2020/08/04(火) 13:09:14.20 .net
>>256
複数月の増分を入れるセルも用意して
=SUMIFS($C$4:$C$1000,$A$4:$A$1000,$E5,$B$4:$B$1000,">="&DATE(YEAR(NOW()),どこかのセル,1),$B$4:$B$1000,"<="&DATE(YEAR(NOW()),どこかのセル+複数月の増分+1,1)-1)

260 :名無しさん@そうだ選挙にいこう:2020/08/07(金) 08:24:35.51 .net
【1 OSの種類         .】 Windows 7
【2 Excelのバージョン   】 Excel 2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
*OSとExcelは年内にも更新予定。

ある設定をしたセルの書式だけ変える方法は有りますか?
例えば、フォントの色を赤にしたセルだけ青にするとか。

手持ちCDの曲目リストで区別のためフォント書式を色々分けていましたが、
作った当時の若かった頃はともかく、30年近く使い続けて年老いてくると
水色や桃色などの淡い色が読みづらくなってきました。
区別を保ったまま濃い色にしたいと考えています。

261 :名無しさん@そうだ選挙にいこう:2020/08/07(金) 09:22:38.65 .net
>>260
条件付き書式以外の方法で色を付けたセルの処理は、VBA使わないと無理

262 :名無しさん@そうだ選挙にいこう:2020/08/07(金) 09:27:11.54 .net
あるけどVBA不可じゃなぁ・・。
多分、

Sub a()
 For i = 開始行 To 終了行
  If フォントが赤のセル Then フォントの色を青
 Next
End Sub

の5行で済むと思うけど、どうしてもVBA嫌か?

263 :名無しさん@そうだ選挙にいこう:2020/08/07(金) 09:44:51.55 .net
>>257-258
すみません、夏休み前でバタバタしてて余裕無くて試せませんでしたが一段落して先ほど試しました
不等号と日付の組み合わせが思いつきませんでした
これでできました
ありがとうございました

>>259
複数月の増分の意味が分からないので試してませんが
この場合、問答無用で今年だけになりますよね

264 :名無しさん@そうだ選挙にいこう:2020/08/07(金) 09:45:33.66 .net
ならないよ

265 :名無しさん@そうだ選挙にいこう:2020/08/07(金) 10:09:26.67 .net
>>260
テーマでワンチャンなんとかなるかも
https://www.crie.co.jp/chokotech/detail/268/

266 :名無しさん@そうだ選挙にいこう:2020/08/07(金) 10:36:23.25 .net
色を変えなくてもフォントを太くしたり大きくするだけでも読みやすくなる

267 :名無しさん@そうだ選挙にいこう:2020/08/07(金) 10:43:13.55 .net
書式で検索して一括置換はできるんじゃないの
既存の書式を検索したいならセルから書式取得する機能もあるし
ただ2007でできるかどうかは知らん

268 :名無しさん@そうだ選挙にいこう:2020/08/07(金) 12:16:39.38 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ(VBAじゃないと無理ならがんばる)
【4 VBAでの回答の可否】 否(VBAじゃないと無理ならがんばる)
データをまとめる時にpdfでは公開されているのにcsvやxlsファイルでは配布されていないので
pdfのデータをコピーしてexcelに張ったところ
横一列になってしまいました
そこで区切りで見やすくはしたのですが、横一列のままです
これを5列(マス)ごとに改行したいのですが、どうすれば良いでしょうか?
A1〜A80あり、A1〜A5、B1〜B5....とズラしたいんです。

269 :名無しさん@そうだ選挙にいこう:2020/08/07(金) 12:24:13.70 .net
>>268
WordからPDFを開くとか

270 :名無しさん@そうだ選挙にいこう:2020/08/07(金) 12:30:41.34 .net
>>268
A2に
=OFFSET($A$1,0,ROW()+COLUMN()*5-7,1,1)
と入れてA2〜P6にコピー
最後に値貼り付け

271 :名無しさん@そうだ選挙にいこう:2020/08/07(金) 13:01:02 .net
>>269-270
ありがとうございました

272 :名無しさん@そうだ選挙にいこう:2020/08/07(金) 13:56:23.96 .net
>>261-262
やはり無理ですか。

ところで、シンボリック形式の解説をオンラインで読めるところは無いですかね?
昔々、Multiplanを使っていた頃、ファイルが壊れてエラーが続発すると
一度シンボリックにして回復させていたことを思い出し、小さな表で試してみました。
(当時のMultiplanの説明書にはシンボリックの説明も書かれていた)
シンボリックファイルはテキスト形式なので、セルの色指定の数値を置換すると
変えられました。ただ、色指定の数値は分かるものの、水色系や桃色系など
自分で作った中間色の色成分(RGBなど)の定義部分が分かりません。
これが分かれば、成分値を変えることで変更できそうです。
尤も、太字・斜体字など他にもあるし、数百万行のファイルになりそうだな。

273 :名無しさん@そうだ選挙にいこう:2020/08/07(金) 14:43:08.91 .net
>>272
新しいExcelで読み込んで、xlsx形式で保存、拡張子をzipに変換するとワークシートの中身がすべてテキストファイルで取り出せる
色の定義はxl\styles.xmlというテキストファイルにそのまま16進数のRGBで書いてあるから一括置換すればいい
RGBから色相、彩度、明度を求めて明るくしたり暗くする方法はネット検索すれば方程式が出てくる

274 :名無しさん@そうだ選挙にいこう:2020/08/07(金) 16:35:55.16 .net
>>273
ありがとうございます。
こんな形で保存されているのですか。読み解くには時間がかかりそう。
これについても、検索すれば説明文があるのかな。

それにしても、桁の低いところで生じる端数をround関数で整えたはずなのに、
データには違う値が記録されているとは・・・
例えば、roundで数値も1.0としたのに1.000001だとか。

275 :名無しさん@そうだ選挙にいこう:2020/08/07(金) 17:05:41.37 .net
>>274
> これについても、検索すれば説明文があるのかな。
あるよ
http://www.ecma-international.org/publications/standards/Ecma-376.htm
3,000ページ以上あるけど

276 :名無しさん@そうだ選挙にいこう:2020/08/07(金) 17:37:48.56 .net
それは不動小数点の丸め誤差っぽいが

277 :名無しさん@そうだ選挙にいこう:2020/08/07(金) 17:39:46.52 .net
っていうか書式で検索して全て選択して色変えればいいだけじゃねえの

278 :名無しさん@そうだ選挙にいこう:2020/08/07(金) 17:43:06.47 .net
書式で検索できる方法、知ってるんですか

279 :名無しさん@そうだ選挙にいこう:2020/08/07(金) 18:01:58.64 .net
ごめんそもそも置換できたわ
ぐぐれ

280 :名無しさん@そうだ選挙にいこう:2020/08/07(金) 19:51:08.15 .net
>>276
不動?つまり固定小数点?

281 :名無しさん@そうだ選挙にいこう:2020/08/07(金) 20:26:32.12 .net
とりあえず現段階の方向として、シンボリックファイルで置換しようと思います。
色の定義方法は分析せず、新しい色を作って色番号を探り番号を置換することで。
お騒がせしました。

282 :名無しさん@そうだ選挙にいこう:2020/08/07(金) 20:42:53.04 .net
他人の助言まったく聞かないで無駄な遠回りして自己解決したのか
昭和のクソジジイすげーな

283 :名無しさん@そうだ選挙にいこう:2020/08/07(金) 21:36:42.72 .net
何でも自分の思い通りになると思ってます?

284 :名無しさん@そうだ選挙にいこう:2020/08/07(金) 22:07:35.44 .net
頭凝り固まった典型的な老害って感じ
自分が知ってる方法しかやる気がないし出来ないんだろう

285 :名無しさん@そうだ選挙にいこう:2020/08/07(金) 23:08:38 .net
2桁表示にしたく書式設定を「00」にしたのですが、
それらを組み合わせて=A1&B1&C1のようにすると、01が1になってしまいます。
1は01…のような状態で、そのままで別セルと結合する方法はないでしょうか?

286 :名無しさん@そうだ選挙にいこう:2020/08/07(金) 23:34:30.33 .net
>>285
=TEXT(A1,"00")&TEXT(b1,"00")&TEXT(c1,"00")

287 :牧野 ◆Vbs7gX72NY :2020/08/08(土) 00:56:03 .net
>>285
=TEXT(A1*10000+B1*100+C1,"000000")

3桁以上ある場合はまた教えて

288 :名無しさん@そうだ選挙にいこう:2020/08/08(土) 01:54:11 .net
>>281
フィルターで色指定して出てきた色そのまま塗り潰したら?

まあ正直分類を色やフォントでやらない方がいいと思うけど

289 :名無しさん@そうだ選挙にいこう:2020/08/08(土) 05:52:16.15 .net
それを人手で遣るんですか?
それは流石に道具の使い方間違っているとしか言えません

290 :牧野 :2020/08/08(土) 08:11:13.26 .net
>>260
一律背景色を濃くするマクロ

Sub foo()
濃くしたい濃度 = 10

For Each i In UsedRange
myColor = i.Interior.Color

r = myColor Mod 256
g = Int(myColor / 256) Mod 256
b = Int(myColor / 256 / 256)

If i.Interior.Color < 16777215 Then '白以外

r = WorksheetFunction.Max(r - 濃くしたい濃度, 0)
g = WorksheetFunction.Max(g - 濃くしたい濃度, 0)
b = WorksheetFunction.Max(b - 濃くしたい濃度, 0)

i.Interior.Color = RGB(r, g, b)
End If

Next
End Sub

動かしてから気がついたけど、本当は濃くしたいじゃなくてコントラストを強くしたいんだろうな〜
無理だな〜

291 :名無しさん@そうだ選挙にいこう:2020/08/08(土) 08:21:06.75 .net
あのー使えない糞コード邪魔何で貼らないでもらえます

292 :名無しさん@そうだ選挙にいこう:2020/08/08(土) 10:33:51.30 .net
質問とは関係ないコード書いて自己満足してるのか?

293 :名無しさん@そうだ選挙にいこう:2020/08/08(土) 10:44:19.85 .net
一度色を全部消して条件付き書式で入れ直した方がよかったりして

294 :牧野 :2020/08/08(土) 10:47:39.16 .net
>>293
あーそれだ

295 :名無しさん@そうだ選挙にいこう:2020/08/08(土) 11:03:47.82 .net
VBA以外の方法ありますか?

296 :名無しさん@そうだ選挙にいこう:2020/08/08(土) 11:10:37.64 .net
あります

297 :牧野 :2020/08/08(土) 11:10:45.60 .net
>>295
なんらかの法則があれば条件付き書式の手作業で可能
法則がなければVBAじゃないとキツイ

298 :名無しさん@そうだ選挙にいこう:2020/08/08(土) 12:28:01.67 .net
VBAって楽しいね。

299 :名無しさん@そうだ選挙にいこう:2020/08/08(土) 12:39:47.28 .net
>>297
>>295
>なんらかの法則があれば条件付き書式の手作業で可能
>法則がなければVBAじゃないとキツイ

キツくてもいいので教えてください!

300 :牧野 :2020/08/08(土) 13:37:35.47 .net
>>260>>299
飲みながら回答したら全然違う回答してたわw

>例えば、フォントの色を赤にしたセルだけ青にするとか。
これが条件付き書式なら可能だけど、塗りつぶしなら無理だねぇ

301 :名無しさん@そうだ選挙にいこう:2020/08/08(土) 19:53:30 .net
高卒はこれだから

302 :名無しさん@そうだ選挙にいこう:2020/08/09(日) 14:37:15.29 .net
>>295
Excel4.0マクロは禁止されてないので、しばり的にはセーフだよね
例えば、Sheet1 の文字色薄い青のセルを青にしたい場合

1.Sheet1をシートコピー
2.コピー先シートA1で名前定義 名前は仮に色とでも =GET.CELL(24 , Sheet1!A1)+NOW()*0 これで、=色 でSheet1の同一アドレスの文字色No.が取得出来る
3.A1に、=IF(色=33, NA()) 表範囲全体に数式のみコピー
4.条件を指定してジャンプ->数式 論理値 で、文字色赤のセル以外が選択される -> 消去
6.全範囲を選択して、文字色を青に (エラー値で条件ジャンプで該当セルのみ選択できるけどその作業は不要)
7.コピー→Sheet1のA1を選択->形式を選択して貼り付け 書式、 空白セルを無視する

GET.CELL(24,Sheet1!A1)がセルの情報を取得するExcel4.0マクロで、24が文字色、薄い青は33
セルに直接入力は出来ないけど、現Excel2019でも、名前を介すと使用できる
Sheet1!A1の部分は相対参照で($がついたら消す)
太字、斜字はそれぞれ、24のところを、20、21に置き換える 戻り値は真偽値

303 :名無しさん@そうだ選挙にいこう:2020/08/09(日) 14:39:53.99 .net
クソパズルやめろやジジイ
ほんと疲れるわ

304 :名無しさん@そうだ選挙にいこう:2020/08/09(日) 14:51:50.55 .net
マルチプランだのcell関数だのは老人会のカラオケ大会ででも話しててくれよ頼むわ早く隠居するか死んでくれ

305 :名無しさん@そうだ選挙にいこう:2020/08/09(日) 15:08:36.22 .net
どうして生きているんだろうな

306 :名無しさん@そうだ選挙にいこう:2020/08/09(日) 15:18:50.21 .net
人に物を説明したことがない人なんだろうな

307 :名無しさん@そうだ選挙にいこう:2020/08/09(日) 15:39:22 .net
視野が狭いんだろうな
見識的な意味でも視覚的な意味でも

>特定の書式を使用して文字列または数値を検索するには、[書式] をクリックし、[書式の検索] ダイアログボックスで選択します。
https://support.microsoft.com/ja-jp/office/%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%B7%E3%83%BC%E3%83%88%E3%81%AE%E6%96%87%E5%AD%97%E5%88%97%E3%81%A8%E6%95%B0%E5%80%A4%E3%82%92%E6%A4%9C%E7%B4%A2%E3%81%BE%E3%81%9F%E3%81%AF%E7%BD%AE%E6%8F%9B%E3%81%99%E3%82%8B-0e304ca5-ecef-4808-b90f-fdb42f892e90

308 :名無しさん@そうだ選挙にいこう:2020/08/09(日) 15:51:13 .net
説明が下手
お前

309 :名無しさん@そうだ選挙にいこう:2020/08/09(日) 21:12:34.71 .net
見識的な意味w

310 :名無しさん@そうだ選挙にいこう:2020/08/11(火) 21:45:52.90 .net
てす

311 :名無しさん@そうだ選挙にいこう:2020/08/13(木) 23:07:43 .net
盆休みだから見てるけどどのチャンネルもワイドショーやべえな
こんなの毎日毎日見てたら脳が衰えてる年寄りは洗脳されるわ
それにしたって日本人は知性無くなりすぎだと思う

312 :名無しさん@そうだ選挙にいこう:2020/08/13(木) 23:11:37 .net
またそのコピペか

313 :名無しさん@そうだ選挙にいこう:2020/08/13(木) 23:30:13.66 .net
Excelの話しようぜ!

314 :名無しさん@そうだ選挙にいこう:2020/08/13(木) 23:31:44.93 .net
SUMPRODUCTの必要性について
どうぞ

315 :名無しさん@そうだ選挙にいこう:2020/08/14(金) 14:32:58.85 .net
知ってるとドヤ顔できるけど役に立ったことはない
たいがい作業列を作れば解決できるし

316 :名無しさん@そうだ選挙にいこう:2020/08/14(金) 19:48:42.45 .net
Excel2019で、
ScreenUpdating = False にしても、CopyFromRecordset で勝手に描画する
という不具合が発生してるように見えるんですが、どうですか?
(もしくは ActiveChart.Axes を設定すると勝手に描画する、のいずれか)

具体的には別のシートに CopyFromRecordset を使っていて、そのシートを参照するグラフが表示中のシートにある
新しいデータを元に、ActiveChart.Axes を再設定する前(または設定しきる前)に、新しいデータがグラフに表示される
なので一瞬グラフが目盛の範囲外に吹っ飛んでから、正しい位置に補正される
Excel2013では起きなかった

317 :名無しさん@そうだ選挙にいこう:2020/08/14(金) 20:07:05.03 .net
ていうかイミディエイトウィンドウで

Application.ScreenUpdating = False
?Application.ScreenUpdating
True

そもそも ScreenUpdating 自体を廃止?

318 :牧野 :2020/08/14(金) 20:09:20.04 .net
>>316
図形やオブジェクトが絡むと再描画されることが多い
理由は多分、単純に適用の範囲外かなんかだろう。誰か詳しい人が答えてくれると思う

何にしろ、図形を再描画しても
ScreenUpdating = False
自体はそのままなので図形を連続で描画でもしない限り、パフォーマンスにはそれほど影響しないはず

Sub foo()
Debug.Print ScreenUpdating
ScreenUpdating = False
Debug.Print ScreenUpdating
ActiveSheet.Shapes.AddShape(msoShapeRectangle, 78, 162.75, 125.25, 121.5).Select
Debug.Print ScreenUpdating
ScreenUpdating = True
Debug.Print ScreenUpdating
End Sub

319 :名無しさん@そうだ選挙にいこう:2020/08/14(金) 20:21:04.49 .net
>>318
さんくす
イミディエイトウィンドウでプロパティを設定しても保持されないのか
しかし、

Sub foo()
ScreenUpdating = False
Debug.Print ScreenUpdating
ActiveCell = 1
Debug.Print ScreenUpdating
End Sub

プロパティは保持されるものの、シートに「1」って表示されるw
そういうもんでしたっけ?

320 :牧野 :2020/08/14(金) 20:29:09.49 .net
>>319
本来は更新しないはずなんだけど、経験上・・・

・めちゃくちゃ軽い処理(>>319とか)
・オブジェクトが絡む
・保存

確かこの辺りで再描画された記憶がある

まぁ、元々が重い処理を軽くするためだけのようなプロパティなので
あまり深く考えなくていいんじゃないかな
俺はなんで再描画されるかなんて考えていないぞ

再計算の方は結果が変わるからかなり慎重に使うけど

321 :名無しさん@そうだ選挙にいこう:2020/08/14(金) 21:08:46.26 .net
知らないなら書くなよ

322 :名無しさん@そうだ選挙にいこう:2020/08/14(金) 22:33:57.90 .net
>>320
逆に軽過ぎると無視なんだ
おー難しい

323 :名無しさん@そうだ選挙にいこう:2020/08/14(金) 23:23:13.85 .net
>>321
答えが出るまで1000年ROMってろ

324 :牧野 :2020/08/15(土) 10:59:34.17 .net
>>322
あと、ScreenUpdatingについての根本的なお話
http://officetanaka.net/excel/vba/speed/s1.htm

ScreenUpdatingが不要になるような記述が好ましいかな、と思います

325 :名無しさん@そうだ選挙にいこう:2020/08/15(土) 11:59:09.22 .net
おまえら根本的なところが間違ってるぞ
まず>>319はプロパティが設定できてない
まったく無関係なVariant型の変数にFalseを代入してるだけ
正しくはこう

Sub foo()
Application.ScreenUpdating = False
Debug.Print Application.ScreenUpdating
ActiveCell = 1
Debug.Print Application.ScreenUpdating
End Sub

そして、プロセスが終了するとこのプロパティは自動的にTrueに戻る仕様だから画面も書き換わる

326 :名無しさん@そうだ選挙にいこう:2020/08/15(土) 15:51:35.34 .net
【1 OSの種類         .】 Windows8.1
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

マンションの駐車場の抽選を行います。
駐車場は45ヵ所あり,世帯数も45ヵ所あります。
駐車場を希望しない世帯がある反面,2台目を希望する世帯もあり,申込数は45を越えます。
まず,駐車場を希望するすべての世帯に必ず1台目の駐車場は割り当てられます。
全世帯に1ヵ所ずつの駐車場が割り当たったあと,残った駐車場に対して,2台目を希望する世帯で抽選します。

(1) 駐車場には1〜45までの番号が振ってあります。
(2) 世帯は201〜205,・・・1001〜1005の45世帯です。
(3) 全世帯に,希望する駐車場所(駐車番号)を希望順位が高い順に1〜45まで記入して貰います。
(4) 各世帯にRAND関数などで,1〜45まで抽選順位を付けます。
(5) その順位によって,その世帯が希望する順位の高い番号の駐車場を割り当てます。

例年は,全世帯から一人ずつ集まり,くじ引きを行い,その数字が小さかった人から,希望する駐車場の場所を選んでいきました。
(3)のようなこともしていなかったため,その場で「う〜ん,どこがいいかしら?あら,ここがよかったんだけど,もう決まっちゃってるのね」と数分悩む方もいて,無駄に時間がかかっていました。

今年度は三密を避けるために,例年のように抽選会が開けないため,(4)の方法で順位を付けることになりましたが,
(5)においては,(3)の内容が記入された用紙を見ながらアナログで割り当てていくことにしました。
この(5)と(3)を関連付け,自動的に行うことはできないでしょうか?

327 :名無しさん@そうだ選挙にいこう:2020/08/15(土) 15:53:42.21 .net
追記
(3) 全世帯に,希望する駐車場所(駐車番号)を希望順位が高い順に1〜45まで記入して貰います。

については,
希望順位1位=駐車場番号23
希望順位2位=駐車場番号11
希望順位3位=駐車場番号30
・・・
ということです。

328 :名無しさん@そうだ選挙にいこう:2020/08/15(土) 16:09:43.45 .net
>>326
もちろん可能だけど2千件のデータを入力する手間を考えたら手作業でやった方が早いんと違う?
入力ミスの確認とかどうやるつもりよ

329 :名無しさん@そうだ選挙にいこう:2020/08/15(土) 17:09:15.22 .net
>>328
レス,ありがとうございました。
入力の手間,確認の手間を考えると,手作業の方が速いかもしれませんね。
それはそれとして,後学のためEXCEL(VBAを含む)での手法をお聞きしたいです。

330 :牧野 :2020/08/15(土) 17:11:19.96 .net
>>326
・45世帯から用紙を徴収して、RAND順に並び替える
・駐車場の一覧で空きを見ながら順に決定していく
・2台目移行希望の人は2周目で同じように決めていく

一回キリだしエクセルに入力するよりも早いと思う

331 :名無しさん@そうだ選挙にいこう:2020/08/15(土) 17:21:34.46 .net
紙でやれよ

332 :名無しさん@そうだ選挙にいこう:2020/08/15(土) 17:45:16.12 .net
そもそも
> (3) 全世帯に,希望する駐車場所(駐車番号)を希望順位が高い順に1〜45まで記入して貰います。
とか面倒くさすぎるだろw
1〜3位

333 :名無しさん@そうだ選挙にいこう:2020/08/15(土) 17:47:23.31 .net
すまん、途中で書き込んでしまった

そもそも
> (3) 全世帯に,希望する駐車場所(駐車番号)を希望順位が高い順に1〜45まで記入して貰います。
とか申請する方も面倒くさすぎるだろw
1〜3位ぐらいまで書いてもらって割り当てきらなかったらこっちで割り当てますってやった方がいいと思うよ

334 :名無しさん@そうだ選挙にいこう:2020/08/15(土) 17:50:19.99 .net
目的と手段を取り違えてるね
そもそも避けたいのは三密だろうが
Excelでやる必要はない

335 :名無しさん@そうだ選挙にいこう:2020/08/15(土) 17:50:44.88 .net
どうせ人気な場所は集中するから
9区画にわけて順番つけてもらって、並びは管理人がしたらいい

336 :名無しさん@そうだ選挙にいこう:2020/08/15(土) 18:08:05.52 .net
紙をシャッフルしてRANDの代わりにすればいい
そうすれば1枚目から手作業で埋めていけばいい
それに45番まで書かない人とか絶対にでてくるから面倒くさくなるぞ

337 :名無しさん@そうだ選挙にいこう:2020/08/15(土) 18:08:36.37 .net
書込み中・・・

ERROR!
ERROR: レスアンカー多すぎます! (Anchor count:6)
問い合わせID:mevius/5c31c3e45f8eefaa
ホスト:118.206.30.125.bf.2iij.net

名前: 名無しさん@そうだ選挙にいこう
E-mail: sage
内容:
皆さん,レス,ありがとうございました。
>>330
今回は,まさしくその手順で行うことになっています。

>>332-333
駐車場所によって利便性や快適性などが異なるため,1〜45まで決めて貰うことになりました。
私もその点には賛成しました。

>>335
これまでも,抽選会に参加せず「完全委任」する方は,数台×6区画に分けたうちの,6区画にのみ1〜6位の希望順位を付けて貰っていました。
そういう方は,区画内の場所には細かくこだわらないため,それでよいのだと思います。

>>331
紙の方が速いようですね。

>>334
今年度は三密を避けたいという理由ですが,来年度以降も無駄に時間がかかる抽選会は勘弁して欲しいと思っています。
それで,EXCELでできれば,その方法を提案できると考えました。


今回は紙の方が速いとわかりました。
ただ,単純に後学のために手法を知りたいと思ったまでです。

338 :名無しさん@そうだ選挙にいこう:2020/08/15(土) 18:39:15.28 .net
ふざけんなよ
他人に時間無駄に使わせんなよ

339 :名無しさん@そうだ選挙にいこう:2020/08/15(土) 18:39:46.56 .net
>>329
まず45*46の二次元配列と、45項目の駐車場配列を用意
二次元配列の片方が46項目あるのは部屋番号を一緒に入れておくため

乱数で順番を決めて第一希望から順に選び、駐車場テーブルに部屋番号を入れてく
あとはその繰り返し

プログラムとしてはきわめて単純
データ入力が最大のネック

340 :名無しさん@そうだ選挙にいこう:2020/08/15(土) 18:41:42.16 .net
47項目にして希望台数も入れた方がいいかな
希望台数をカウンターの代わりにして選ばれるたびにデクリメント
そうすれば、駐車場を使わない人の処理を別に作らなくて済む

341 :名無しさん@そうだ選挙にいこう:2020/08/15(土) 18:53:20.81 .net
住民アンケートもexcelでやりそう
統計の知識無しで

342 :名無しさん@そうだ選挙にいこう:2020/08/15(土) 19:00:46.31 .net
エクセルを立ち上げたときにユーザーフォームのみが立ち上がって
起動メニューのようにしているのですが、
起動するときユーザーフォームの前に一瞬、ブック内のエクセルのシートがチラついて表示されてしまいます。
これは仕方のない事なのでしょうか?

343 :名無しさん@そうだ選挙にいこう:2020/08/15(土) 19:30:47.52 .net
>>339
> 二次元配列の片方が46項目あるのは部屋番号を一緒に入れておくため
老害すぎるw
Type 希望駐車場
部屋番号 As Integer
駐車場(1 To 45) As Integer
End Type
Dim 希望(1 To 45) As 希望駐車場
ってやるべきだろ
※ 型名/変数名はテキトー

344 :名無しさん@そうだ選挙にいこう:2020/08/15(土) 19:39:05.00 .net
部屋番号をintで持つのも違う気がする
stringじゃない?

345 :名無しさん@そうだ選挙にいこう:2020/08/15(土) 20:20:14.28 .net
そんなのを配布すんの?
やり方わからないってジジイの対応方法考える方が時間かかるわ

346 :名無しさん@そうだ選挙にいこう:2020/08/15(土) 20:38:31.41 .net
>>339-340
>>343
>>344
教えていただいたことを手掛かりにしてやってみます。
ありがとうございました。

347 :名無しさん@そうだ選挙にいこう:2020/08/15(土) 21:01:28.85 .net
もう二度と出てくるなよ!

348 :牧野 :2020/08/15(土) 21:24:08.27 .net
>>346
分からなかったら何回でも来てくれ

349 :名無しさん@そうだ選挙にいこう:2020/08/15(土) 21:59:09.83 .net
お文具さんって知ってる?

350 :名無しさん@そうだ選挙にいこう:2020/08/15(土) 22:25:49.44 .net
sumproduct使うやつなんて今時いない

351 :名無しさん@そうだ選挙にいこう:2020/08/16(日) 02:57:31.89 .net
>>326
A列に部屋番号
B列に希望順位
C列に希望注射場番号
D列に「乱数込みの希望順位」として =B2+RAND()

タイトルと45x45なので2026行できるはず
出来上がったら「乱数込みの希望順位」列でソートする

続いて目測で上から順に決定していく
自動判定の計算式を考える時間より目測のほうが遥かに早い
当選の〇を入力したら以下は斜線が引かれるなどの判定を補助する書式設定とかをつけた方がいいかもね

352 :名無しさん@そうだ選挙にいこう:2020/08/16(日) 05:00:45 .net
それ使う意味ないだろ?
目的がわかってないの?

353 :牧野 :2020/08/16(日) 06:43:44.04 .net
>>351
>続いて目測で上から順に決定していく
>自動判定の計算式を考える時間より目測のほうが遥かに早い
>当選の〇を入力したら以下は斜線が引かれるなどの判定を補助する書式設定とかをつけた方がいいかもね

E列に一位判定用を作ってフィルタとかでいいんじゃないか
E2=B2<>B1
TRUEでフィルタすれば当選者一覧になるはず

354 :名無しさん@そうだ選挙にいこう:2020/08/16(日) 06:52:07.04 .net
>>350
sumproductの代わりに今時は何を使ってるんですか?

355 :名無しさん@そうだ選挙にいこう:2020/08/16(日) 17:57:37.36 .net
>>354
SUM!

356 :名無しさん@そうだ選挙にいこう:2020/08/16(日) 20:56:15.53 .net
>>350
フィルタで絞った可視セルで、複数の条件に一致する件数をカウントするのはどうすればいいですか?

COUNTIFSのフィルター集約分だけをカウントしたい。

357 :名無しさん@そうだ選挙にいこう:2020/08/16(日) 22:53:24.33 .net
>>356
aggregateでいけるかも

358 :名無しさん@そうだ選挙にいこう:2020/08/17(月) 00:05:17.52 .net
SUMPRODUCT派って結構いるのかね?

359 :名無しさん@そうだ選挙にいこう:2020/08/17(月) 01:01:29.14 .net
フィルタならsubtotalだろうに
でもaggrigateはエラーを無視して合計出せるというので助かる

360 :名無しさん@そうだ選挙にいこう:2020/08/17(月) 03:15:04.51 .net
EXCEL2020でCtrlキーを押しながら複数の行を選択しながら行の幅を変えようとするとフリーズします。Ctrlキーを離して通常幅を変更すると問題なくできます。
対応方法はないでしょうか?

361 :名無しさん@そうだ選挙にいこう:2020/08/17(月) 04:07:51.68 .net
あります

362 :牧野 :2020/08/17(月) 07:02:36.19 .net
>>360
エクセル再インストールしたら直るかも

363 :名無しさん@そうだ選挙にいこう:2020/08/17(月) 07:59:44.62 .net
治りました

364 :名無しさん@そうだ選挙にいこう:2020/08/17(月) 08:01:52.47 .net
Excel2020!

365 :名無しさん@そうだ選挙にいこう:2020/08/17(月) 15:36:04.93 .net
お世話なります。VBAを勉強中のものでして

=IF(C2>=80,"優",IF(C2>=70,"良",IF(C2>=50,"可","不")))

これを

Function test(c) As String

If c >= 80 Then
test = "優"
End If

If c >= 70 Then
test = "良"
End If

If c >= 50 Then
test = "可"
Else
test = "不"
End If
End Function

とすると、74でも「可」しかでなくなりました。
知恵をお貸し頂ければ幸いです。

366 :名無しさん@そうだ選挙にいこう:2020/08/17(月) 17:50:51.44 .net
>>365
条件達成したらexit function

367 :名無しさん@そうだ選挙にいこう:2020/08/17(月) 17:52:09.70 .net
それか逆から判定するかselect caseで場合分けするか

368 :名無しさん@そうだ選挙にいこう:2020/08/17(月) 18:27:40.34 .net
>>365
end ifの次のifで条件もう1回通らせてるからね

elseにしないと

369 :名無しさん@そうだ選挙にいこう:2020/08/17(月) 18:35:08.46 .net
>>365
Function test(rng As Range) As String
Dim c As Long
c = rng.Value
If c >= 80 Then
test = "優"
ElseIf c < 80 And c >= 70 Then
test = "良"
ElseIf c < 70 And c >= 50 Then
test = "可"
Else
test = "不"
End If
End Function

シート上で"=test"を入力して得点が入力されているセル番地を入力すれば答えが出る

370 :名無しさん@そうだ選挙にいこう:2020/08/17(月) 19:41:34.42 .net
>>365
VBA の Select Case でいいかと
Function test(c) As String
Select Case c
Case Is >= 80
test = "優"
Case Is >= 70
test = "良"
Case Is >= 50
test = "可"
Case Else
test = "不"
End Select
End Function

371 :牧野 :2020/08/17(月) 20:57:27.04 .net
>>369
可読性悪いかねぇ

Function test(rng As Range) As String
Dim c As Long
c = rng.Value * 1
If c >= 80 Then
test = "優"
ElseIf c >= 70 Then
test = "良"
ElseIf c >= 50 Then
test = "可"
Else
test = "不"
End If
End Function

372 :名無しさん@そうだ選挙にいこう:2020/08/17(月) 21:21:36.98 .net
>>371
変数名の具体性によるんじゃない?
変数名がcならifの方が読みやすいかもだし、
変数名がTensuとかなら長いし具体的だしSelectの方がいいとか

373 :名無しさん@そうだ選挙にいこう:2020/08/17(月) 22:19:23 .net
>>371
言われてみればANDはいらないな
コード3行目の最期の * 1 は意味があるの?

374 :牧野 ◆Vbs7gX72NY :2020/08/17(月) 22:26:29 .net
>>372
確かに

>>373
=test(90)が動かなくてちょっと色々いじってたんだ、*1は間違い。

一つ聞こうと思ってたの忘れてた
longじゃなくなんでrangeを引数にしてそこからvalueを取っているんだろう

Function test(c As Long) As String
If c >= 80 Then

じゃダメなんかな

375 :名無しさん@そうだ選挙にいこう:2020/08/17(月) 22:31:21 .net
>>374
最初に質問者のコードを見たときにエラーが出るんじゃないかと思って変えた
でも、後から変える前の奴を試してもちゃんと動いたから、いらない変更だった
個人的には自分の奴のほうがわかりやすいとは思うけど

376 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 00:33:43 .net
>>365
Function test(c) As String
test = WorksheetFunction.HLookup(c, Array(Array(0, 50, 70, 80), Array("不", "可", "良", "優")), 2, True)
End Function

俺からも
可読性いいでしょw

377 :376:2020/08/18(火) 01:30:49 .net
Function test2(c) As String
test2 = Choose(1 - (c >= 50) - (c >= 70) - (c >= 80), "不", "可", "良", "優")
End Function

可読性を損なわず、もうちょっと短くできたよw

378 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 06:03:31.70 .net
test = Mid("不不不不不可可良優優優", c \ 10 + 1, 1)

379 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 06:14:12.18 .net
test = Mid("不可良優",1 - (c >= 50) - (c >= 70) - (c >= 80),1)

380 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 09:29:30.44 .net
test=IIF(c>=80, "優" , IIF(c>=70 , "良" , IIF(c>=50 , "可" , "不")))

381 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 11:52:29.69 .net
>>365
その書き方だと得点の高い方から判定するとおかしくなる
50点以上なら80点でも100点でもみんな可になってしまう
こういう時は低い方から判定すればいい

Function test(c) As String
test = "不"
If c >= 50 Then test = "可"
If c >= 70 Then test = "良"
If c >= 80 Then test = "優"
End Function

382 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 12:16:31.42 .net
アホ
Selectでやれ

383 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 13:02:59.74 .net
>>381
いまだにこんなコーディングするアホがいるのか?w

384 :>>365:2020/08/18(火) 17:16:18 .net
皆様ありがとうございます。
様々なレスがついて驚きました。
やはり書き方は千差万別なんですね。

関数ばかり触ってきたのでIFのネストが癖になっており
IF〜End IF , IF〜End IFでSelect Caseのような分岐ができると
ばかり思っていました。

ElseIfを知り、無事に(?)自身のなかでの問題が解決しました。

レスをしていただいた皆様、本当に感謝します。

385 :>>365:2020/08/18(火) 17:27:57.08 .net
因みになんですが、>>378 を試して動いたことに驚きなんですが
原理を解説していただけると幸いです。
MIDで何をどう抜き出しているのかさっぱりで…。

386 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 17:53:51.54 .net
自己解決しました。

387 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 20:34:01 .net
別にIFのネストは問題なくできる
書き方が悪いだけ

388 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 20:54:59.74 .net
初心者です
初めて書き込みます
毎日にその日の取引先をプリントアウトし、事前にある定められた((取引会社名)(送り先)約100)に該当するものを目視でチェックしマーカーを引いています。
物凄い時間がかかり何とかならないかと思っています
該当する取引先だけ背景が色を変えるとか
最悪、該当する取引先だけ抽出できないでしょうか?

389 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 20:58:09.20 .net
>>388
取引先をプリントアウトし→詳細に書いて
該当するものをチェックし→詳細に

いつもの完成形は何?

390 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 21:09:46.50 .net
その日の取引先名称、送り先名称、日付やら品名やら取引番号などのデータ
一覧から
予め決められた取引先名称or送り先名称があるところをわかるようにしたい

今は一覧をプリントアウトして、いちいち人力でその該当する取引をチェックしています

391 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 21:14:19.84 .net
完成形というか一覧に手書きのチェックだけです
手書きのチェックは面倒ではありませんが、片手に別紙で100もの取引先名称と送り先名称を確認しながら、プリントアウトした一覧にチェックを入れています

392 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 21:15:31.55 .net
確認作業が面倒で時間がかかります

393 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 21:32:25 .net
どんな作業してんのか全然わからん
説明下手すぎかよ

394 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 21:34:26 .net
エスパーすると条件付き書式で検索しろ

395 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 21:38:41 .net
とんでもない無能臭がする

396 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 21:59:57.87 .net
http://www.onnet.co.jp/wp/wp-content/uploads/-e1433306608865.png
例えば、この表を例にでも、、、
予め決められた約100ものリストから該当する得意先と出庫置場であれば
この表の行のカラーを変えるとか該当するものだけ抽出できればいいわけです
勿論、この表をexcelで扱っての話

397 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 22:12:19.04 .net
>>396
エクセルの一番左端に1とか2とか書いてありますよね?
それを「行(ぎょう)」と言います
その1とか2とか書いてあるところを左クリックします
クリックした行全ての色が変わりましたね?

エクセルの上の方にペンキマークと▼マークがあると思います
ペンキマークの右側の▼マークを左クリックしてください
沢山の色が出てきました
好きな色を選んで左クリックしてください

これで完成です

398 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 22:15:40.69 .net
C#のくっそ安っぽいウインドウきらい

399 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 22:19:58.13 .net
システム作った部門に脳ミソが1グラムでも入ってたら
“エクセルに出力”ボタンつけるよね…

400 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 22:21:01.09 .net
ひとつ人力で行の色を変えろと?(笑)
例えば
予め定められたリストとして
(得意先)     (出庫置場名)
金沢商店       山下倉庫
渡辺エンジニア    木沢倉庫3
以下50        以下50  
の表もあるとします
できれば、この表にある得意先や出庫置場に該当するところだけ、396の表の行を変えたいもしくは抽出できればと思っています

401 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 22:23:28.68 .net
>>387
> 別にIFのネストは問題なくできる
できるできないじゃなくて見通しが悪くなるって話

402 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 22:23:34.68 .net
勿論、エクセルで扱えるからきいているんです

403 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 22:25:19.40 .net
>>402
あんた誰?

404 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 22:25:49.70 .net
countifでいいんじゃないですか

405 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 22:26:52.58 .net
>>388
お前みたいな奴に条件付き書式は使いこなせないから人力で色塗りな

406 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 22:36:50.09 .net
画面に細く切ったセロファンを貼れば色塗りしなくていいよ
http://wamblog.ascii.jp/images/nkmr090330_03.jpg

407 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 22:40:14.62 .net
それを社内のバソコン全部に貼るのですか?

408 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 22:44:02.56 .net
いくつか質問があるんだけんどまず1つ

   A      B     C
1
2 あああ   AAA   100
3 いいい   BBB   200
4 ううう    EEE    300
5 おおお   AAA   400
6 あああ   CCC   500
7 あああ   AAA   600

みたいな元データがあるとします

=UNIQUE(A:A)
とすると先頭に0が出てきますが

=UNIQUE(INDIRECT("A2:A"&COUNTA(A:A)+1))
としないとダメ?

409 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 22:44:58.72 .net
>>408
ごめん、AA編集モードで書いたからズレた

410 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 22:47:39.47 .net
膨大にあるのでマーカーでレ点をパッパッと付けていっているだけなので、綺麗さは求めませんが、、、
一覧用紙で欲しいのです(笑)

モニターに抽出されたものであればそれを見て手でチェックするという方法でも、100倍効率があがると思っています

411 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 22:55:28 .net
2つめ

   A     B    C
1
2 あああ   AAA   100
3 いいい   BBB   200
4 ううう   EEE    300
5 おおお   AAA   400
6 あああ   CCC   500
7 あああ   AAA   600


この元データの集計表をテーブル化しないでうまい事作りたい

左端は
=UNIQUE(INDIRECT("A2:A"&COUNTA(A:A)+1))

上は
=TRANSPOSE(UNIQUE(INDIRECT("B2:B"&COUNTA(B:B)+1)))

でマトリックス表を作り
マトリの中身をどうすればいいか悩んでます
SUMIFSで何とかなりそうだけどテーブル化してないとA列が行増えたりB列にFFFみたいに新しい項目が入った時に対応出来ないんですよねぇぇぇ

412 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 23:03:47 .net
>>411
D列とか好きなところに
if(countif($A$1:A1,A1)=1、MAX($D$1:D1)+1、“”)

という式をつくってユニークなナンバーを振り当てて
マトリックスにはIndex( MATCH(
で項目つくる
中身はsumifsで、縦と横からデータとってきて集計する

413 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 23:08:42 .net
>>411
なんでテーブル化しないの?
共有化するから?
セル結合のため!とか言うなら別シート作りな

414 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 23:11:11 .net
テーブル化しないのはシステムから出てくるエクセルを文字列で張り付けて更新するから?

415 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 23:12:45 .net
>>412
折角だからスピル使いたいなぁぁぁ

>>413
テーブル化すると元データが増えたりすると謎のテーブルが勝手にどんどん増えていくんだもん
増えない方法ある?

416 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 23:13:52 .net
>>408
=UNIQUE(FILTER(A:A,A:A<>"",""))

417 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 23:15:03 .net
>>416
あっフィルター忘れてました
ありがとう

418 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 23:24:24.53 .net
>>415
名前定義すると楽よ

419 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 23:46:29.73 .net
テーブルのある列に入力されている値から、重複しないデータの入力規則を作りたくて困ってます、助けてください

現在は、VBAでDictionaryを使って登録していき、JoinでKeysをカンマ区切りして登録しています

Itemを使わないのがモヤっとするので、他に良い方法がありましたら御教授いただけると幸いです

420 :名無しさん@そうだ選挙にいこう:2020/08/18(火) 23:49:16.58 .net
>>418
ほうほう
勝手に名前増えていかない?

あとFILTERの含むの所ってANDとかORって使えない?
配列っぽいから出来ないかな?
って思ったけどANDは*でORは+でいけたわ!

名前が勝手に増えていかなければこれでいこうかなあああああ!!!

ありがとうよ!

421 :名無しさん@そうだ選挙にいこう:2020/08/19(水) 00:08:14.52 .net
こういう事よ
OFFICE TANAKAではスピルと配列は違うって言ってたけど考え方は同じだねえええ
ANDは*
ORは+
http://imgur.com/HJAswHc.png

422 :名無しさん@そうだ選挙にいこう:2020/08/19(水) 00:14:45.35 .net
>>411
e2 =UNIQUE(FILTER(A:A,A:A<>"",""))
f1 =TRANSPOSE(UNIQUE(FILTER(B:B,B:B<>"","")))
f2 =SUMIFS(C:C,A:A,E2#,B:B,F1#)

423 :名無しさん@そうだ選挙にいこう:2020/08/19(水) 02:55:59.94 .net
上下にスクロールするのに、セル単位でのスクロールではなくスムーズにスクロールする機能は今も実装されてないのでしょうか?
ホイールクリックからスムーズにスクロールできますが使いづらくて・・・

424 :名無しさん@そうだ選挙にいこう:2020/08/19(水) 03:21:50.70 .net
>>423
ない
VBAでスクロールもどきなら簡単に作れる

425 :名無しさん@そうだ選挙にいこう:2020/08/19(水) 06:58:36.67 .net
>>423
ScrollLockキーとか、PageUp/PageDownキーとか

426 :名無しさん@そうだ選挙にいこう:2020/08/19(水) 07:42:25.06 .net
>>422
最後の,""いらなくね?

427 :名無しさん@そうだ選挙にいこう:2020/08/19(水) 09:15:23.54 .net
うるさいんだよお前

428 :名無しさん@そうだ選挙にいこう:2020/08/19(水) 11:20:00 .net
VBAで動作させる場合(視認性は別として)
IFネストで
条件1-条件2=処理1
条件1-条件3=処理2

とするのと

IF 条件1&条件2=処理1
IF 条件1&条件3=処理2

とするの

どちらが軽量で処理が早いですか?

429 :名無しさん@そうだ選挙にいこう:2020/08/19(水) 11:33:32 .net
>>428
前者
VBAはショートサーキット無いから

430 :名無しさん@そうだ選挙にいこう:2020/08/19(水) 14:04:49.07 .net
=SUM(C2:D2:D2)
ってどういう意味でしょうか?

431 :名無しさん@そうだ選挙にいこう:2020/08/19(水) 17:08:14.72 .net
>>430
うち間違えでは?

432 :牧野 :2020/08/19(水) 20:14:34.57 .net
>>430
=SUM(B3:C4:A1:D2)
試してみたけど、最も左上から最も左下のセルを参照するっぽい挙動

MSDNにも2つの参照と書いてあるので、あまり良くない使い方ではあると思う
https://support.microsoft.com/ja-jp/office/%E6%BC%94%E7%AE%97%E5%AD%90%E3%81%A8-excel-%E3%81%A7%E3%81%AE%E5%84%AA%E5%85%88%E9%A0%86%E4%BD%8D-48be406d-4975-4d31-b2b8-7af9e0e2878a

googleスプレッドシートでも同じ挙動

433 :名無しさん@そうだ選挙にいこう:2020/08/19(水) 20:16:44.21 .net
>>423
アニメーションをONにすればスムーズにはなるけど、
2/3セルとか、中途半端な位置で止めたいという事?

ていうか、何か困るのそれ。
ドラクエIの洞窟は、8ドット単位でも見づらかったけど。

434 :牧野 :2020/08/19(水) 20:21:29.26 .net
>>388>>396
こんな漢字はどう?
https://dotup.org/uploda/dotup.org2233001.xlsx.html

そんなに難しくないよ

435 :牧野 :2020/08/19(水) 20:22:26.82 .net
>>433
セルの列幅や行の高さが大きい時

436 :牧野 :2020/08/19(水) 20:28:28.47 .net
>>419
UNIQUE関数とか
=UNIQUE(A:A,FALSE,FALSE)

後はピボットに放り込んで一意のリストを作るってのはたまにやるかな
でもvba使えて実現できているならそれでいいんじゃない

437 :名無しさん@そうだ選挙にいこう:2020/08/19(水) 22:18:30.72 .net
>>435
VBAを使って自分好みのスクロールになるように作ればいい

438 :牧野 :2020/08/19(水) 22:24:47.50 .net
>>437
列幅を変更する事で擬似的にセルの途中で止まってるように見せかける事で実現出来なくもないのか

439 :名無しさん@そうだ選挙にいこう:2020/08/19(水) 22:35:57.99 .net
>>438
ごめん、セルの途中で止まってるようにの意味がわからない

440 :名無しさん@そうだ選挙にいこう:2020/08/20(木) 12:28:59.79 .net
すいませんエクセル2019ですが

数字を入力しているセルに追加で数式を入力する場合
f.2を押してカーソルキーでセルの頭までカーソルを動かし、”=”を入力するという事をやっているのですが
何故か”=”に限ってセルの頭で入力しもセル末尾に入力されてしまいます

[12345]

ここにカーソルを持って来て”=”を入力すると
[12345=]
    ↑
   何故かここに入力される

この現象が起きるのはテンキーの”=”だけでフルキーだと普通に入力されます

質問としては
1.何故この様な事が起きるのか? ひょっとしたらエクセルではなくATOKのお節介?(ただエクセル2010ではこのようなことは無かった)
2.回避方法はどうすればいいか?
3.あるいは、こんなマヌケな方法ではなく、一発で数字の入ったセルの頭に”=”をいれたり
 ”=”を入れ無くても計算式として認識する方法があるのか?
 (”=”なしでいきなり”+54321”とか数式を入れると文字列に変換される)

よろしくお願いします

441 :名無しさん@そうだ選挙にいこう:2020/08/20(木) 12:59:20.64 .net
100 100 100 計
200 200 200 計
300 300 300 計

計を出すとき普通はSUMですがスピルだとどうやりますか?

442 :名無しさん@そうだ選挙にいこう:2020/08/20(木) 13:42:29.92 .net
テンキーにイコールあるんかいな

443 :名無しさん@そうだ選挙にいこう:2020/08/20(木) 16:00:16.25 .net
質問です
ウィンドウ枠の固定で、固定した行より上の行、固定した列より左の列を表示する方法はありますか。
固定して表示する行と列は1行・1列ですが上の行や左の列に入れた内容を見たり修正したいので。

444 :名無しさん@そうだ選挙にいこう:2020/08/20(木) 16:09:03.55 .net
ウインドウの分割?

445 :名無しさん@そうだ選挙にいこう:2020/08/20(木) 16:22:58.65 .net
そうだな
B2をアクティブにしてウインドウの分割なり固定なりを選べばいい

446 :名無しさん@そうだ選挙にいこう:2020/08/20(木) 16:32:32.86 .net
>>443
新しいウインドウを開く

あと、カーソルキーで非表示部分までいけるよ

447 :名無しさん@そうだ選挙にいこう:2020/08/20(木) 16:52:01.22 .net
440
普通のキーボードならテンキーにイコールってないから、外付けのキーボードを使ってる?
あんまり普通じゃないから、そのキーボードのせいじゃないかな

448 :名無しさん@そうだ選挙にいこう:2020/08/20(木) 17:23:12.40 .net
お世話になります。
A1 + B1 = C1
A2 + B2 = C2
の時、C列の1つでも5を超えるとき"×"が表示されるような
判定は関数で作成できますでしょうか?
無理であればVBAでも構いません。
何かヒントを頂けると幸いです。

449 :>>448:2020/08/20(木) 17:28:18.66 .net
{=IF(AND(C:C<=5),"×","〇"}
自己解決しました

450 :名無しさん@そうだ選挙にいこう:2020/08/20(木) 17:30:59.36 .net
>>448
COUNTIFS関数の検索条件として「5よりおおきい」を指定します。「=COUNTIFS(C:C,」に続いて『">5")』と入力し、【Enter】キーを押します。検索条件は「"(ダブルクォーテーション)」で囲みます。

つまり
=if(COUNTIFS(C:C,">5")>0,“×”,“ok”)

451 :名無しさん@そうだ選挙にいこう:2020/08/20(木) 17:59:01.98 .net
>>446
ありがとうございました

452 :名無しさん@そうだ選挙にいこう:2020/08/20(木) 18:24:57.08 .net
>>448
Max(C:C)>5
をIFの中に入れれば良い
多分これまで出てるやつの中で一番可読性高い

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

工事シートと支払シートでそれぞれ入力しているシートがあり、工事Noからそれらを紐づけて
工事No1 工事名 支払1 支払額
工事No1 工事名 支払2 支払額
工事No2 工事名 支払1 支払額
というように二つの情報をマージするようなシートを新しく出力処理を考えています

For i = 1 To 工事件数
小項番数 = 1

For j = 1 To 支払件数
If 工事データ(i, 1) = 支払データ(j, 1) Then
.Cells(tempRow, 1) = 工事データ(i, 1)
.Cells(tempRow, 2) = 小項番数
小項番数 = 小項番数 + 1
.Cells(tempRow, 3) = 工事データ(i, 2) '物件名
.Cells(tempRow, 4) = 支払データ(j, 16) '業者名
.Cells(tempRow, 5) = 支払データ(j, 17) '支払金額

tempRow = tempRow + 1
End If
Next
Next
どちらとも1000件あるので、処理時に結構時間がかかってしまうのですが完了まで1〜5分かかります
1000件ループ中に、更に1000件回すからだと思うんですが、もっと効率的な処理ありませんか…?

454 :名無しさん@そうだ選挙にいこう:2020/08/20(木) 19:02:13.17 .net
>>453
配列に入れる
不得手ならapplication.screenupdating=Falseをループ前に入れる

455 :名無しさん@そうだ選挙にいこう:2020/08/20(木) 19:06:13.80 .net
あと支払い回数に上限があるならexit forでjのループを抜ける

456 :牧野 :2020/08/20(木) 19:55:30.28 .net
>>440
聞いたことないけど、キーボードの不調な気がする。「=」押すとendキーか↓キー辺りと合体してしまっているような

1.ATOKはしらんけどgoogleimeなどに買えてみると問題の切り分けが出来る
2.分解して埃を取るかテンキー買い替え。テンキーが独立したキーボードならドライバ再インストールなど
3.=ではなく+にしてみる。+sum(a1:b2)でも数式として認識してくれるよ。確か@でも行けた気もするけどかなりキモイからオススメしない

457 :牧野 :2020/08/20(木) 19:58:41.69 .net
>>453
もうちょい正確なデータをアップしてくれればかなり短縮できそうだけど、この辺で良い気がする

イベントを止める
Application.EnableEvents = False
再描画を止める
Application.ScreenUpdating = False
再計算を止める
Application.Calculation = xlCalculationManual
この3つだけでokです。

https://15g.jp/post-314/

458 :名無しさん@そうだ選挙にいこう:2020/08/20(木) 20:29:11.08 .net
>>440
そんなもんじゃないの?
俺もIndexMatch使う時、

=INDEX(C:C,MATCH(A:A,C:C,0))
        ↑ここにカンマ打ちたいのに、

=INDEX(C:CMATCH(A:A,C:C,0)),
                    ↑何度やってもここに打たれちゃうことがある

しょうがないから、メモ帳に書いてからコピペしてるわ。
俺のは2013だけど、2019でも直ってないの?

459 :名無しさん@そうだ選挙にいこう:2020/08/20(木) 20:39:55.57 .net
IMEをONのまま半角入力モードにしてると入力位置がずれることがある
この場合はIMEをOFFにすればたいてい直る

460 :名無しさん@そうだ選挙にいこう:2020/08/20(木) 20:41:35.88 .net
もちろんOFFだよ。

461 :名無しさん@そうだ選挙にいこう:2020/08/20(木) 20:49:05.64 .net
エクセルあるあるだな。
コマンドボタンがどこかにすっ飛んでいくとか、
ボタンを押下した状態の画像と、離した状態の画像が別の位置にあるとか、色々あるけど、
一番笑ったのは、何かファイルが重いな〜と思ったら、1万本の直線が綺麗に重なっていたこと。
どっから湧いてきたんだよwww

462 :名無しさん@そうだ選挙にいこう:2020/08/20(木) 23:23:45.97 .net
俺のエクセルはウインドウ枠の固定をしているシートだけ、マウスクリックを数回するだけで勝手に複数のセル範囲を選択してしまう
おそらく、SHIFTキーを押した状態になっているからだと思う
あと、画面電源オフからオンにするだけでCtrlキーが押しぱっなし状態になってwindowsを再起動をする必要が出てくる
エクセルを3回再インストールしたけど直らんから諦めているわ

463 :名無しさん@そうだ選挙にいこう:2020/08/20(木) 23:36:41.15 .net
>>462
それハード的な故障だろ
さすがに買い替えろ

464 :名無しさん@そうだ選挙にいこう:2020/08/20(木) 23:46:35.87 .net
>>463
パソコン本体かなとはうすうす感じてはいるんだけどな
ちなみに、キーボードとマウスは複数持っていて変えても同じ症状だから、それらは問題ない

465 :牧野 :2020/08/20(木) 23:50:17.89 .net
windows再インストールした方が良いと思う

466 :名無しさん@そうだ選挙にいこう:2020/08/21(金) 08:01:21.78 .net
>>440
俺も似たような現象で困ってる
IME Onのまま「=123 …」って打ってから画面見たら「ほ123 …」ってなってるからIME Offにしてカーソルを「ほ」の後ろに持って行って Delキー と = キーを打つとなぜかカーソルが最後尾に移って「123 …=」ってなる
※ 「ほ」ってなってるのはかなタイパーだから

467 :名無しさん@そうだ選挙にいこう:2020/08/21(金) 09:13:55.64 .net
>>448 に似たような状態なんだけど
列が離れてて加算した結果を判定ってできる?
A1 + C1 の結果が基準を超えた場合の判定

468 :名無しさん@そうだ選挙にいこう:2020/08/21(金) 11:02:19.23 .net
日付データを数値に変換する関数はありますか?
text(a1,"0")でも可能ですが、なんか他にないかなと

469 :名無しさん@そうだ選挙にいこう:2020/08/21(金) 11:37:22.39 .net
ワークシート関数なら=N(A1)とかの話?

470 :名無しさん@そうだ選挙にいこう:2020/08/21(金) 11:49:20.03 .net
>>467
できる

471 :名無しさん@そうだ選挙にいこう:2020/08/21(金) 12:09:13 .net
>>442
あ、ごめん。そういやそうですよね><
リアルフォースのテンキーレス91キーと、リアルフォースの=キー付きテンキーを使ってます

https://www.realforce.co.jp/products/23U_WC0100/images/mainphoto.jpg

長年PC-98キーボードを使っていてどうしてもATキーに慣れないので
最近までコンバーター使ってPC-98キーボードを使ってたし

因みにPC-98キーボードはコレ(WINキー無しバージョン)
http://nkmm.org/yagura/kbd/m699/m699.jpg
どう考えてもこれの方が使い易いと思うが。特にテンキー側に=とカンマが無いのは許しがたい
=は一応キーアサインがあるので対応してるテンキーもあるが、カンマはどうやらシングルキーアサインが無いらしく
ATアーキテクチャだとどうやっても出せ無いっぽい

472 :名無しさん@そうだ選挙にいこう:2020/08/21(金) 12:12:48 .net
>>447
ATでも一応テンキー側の=というキーコードはあるみたいで(ハード的には無いが)
これが原因かも知れません
フルキー側の数字キーとテンキー側の数字キーでキーコードが違うような物

ただエクセル2019でのみ発生するのが謎(97、10、19しか使ったことが無いが)

473 :名無しさん@そうだ選挙にいこう:2020/08/21(金) 12:18:14 .net
>>456
ありがとうございます

> 聞いたことないけど、キーボードの不調な気がする。「=」押すとendキーか↓キー辺りと合体してしまっているような

エクセル2019のみの現象なので違うと思う。2010、97では発生しない

> 1.ATOKはしらんけどgoogleimeなどに買えてみると問題の切り分けが出来る

それもそうだw と言う事でやってみたけど同じ。つまりFEPは関係無し

> 3.=ではなく+にしてみる。+sum(a1:b2)でも数式として認識してくれるよ。確か@でも行けた気もするけどかなりキモイからオススメしない

おおっ求めていたのはコレだ!=より+の方が押しやすい位置にあるのでこれで全解決。
しかもリターン押すと自動的に=に変換される。素晴らしい

474 :名無しさん@そうだ選挙にいこう:2020/08/21(金) 12:29:05.94 .net
とやってみたところで、別件でもう一つ謎の挙動を発見した

エクセル2019でいきなりテンキー側の−(マイナス)キーを押すと入力されずに「範囲選択の拡張」モードになる
所謂f.8を押したときと挙動が同じ
f.2を押した後にテンキー側の−を押すと普通に−で入力される
(f.2→f.8だと派に選択の拡張モードになる)

Lotus1.2.3互換で/キーでALTメニューが出るのは知っていたが、これって普通?
長年気付かなかったけど

475 :名無しさん@そうだ選挙にいこう:2020/08/21(金) 14:49:43.62 .net
ショートカット系はテンキー側だと変わるよ
単純な例だと[ctrl]+[1]の書式設定はテンキー側だと出ない

476 :牧野 :2020/08/21(金) 19:51:12.38 .net
>>467
A1 + C1 = D1
A2 + C2 = D2
のようにして後は回答と似たようにすれば良いのでは

>>474
知らなかったけど、そもそもテンキーが無かった
暇なら仮想キーボードとか色々試してみるのもいいかもね

477 :名無しさん@そうだ選挙にいこう:2020/08/22(土) 12:24:52.24 .net
質問!

京都 25 →25
東京 65  25
大阪   
福岡 69  69
長野 45  69
栃木 52  69

みたいにランダムに振られた数値で
隣接する数値があった場合に上の数字と同じになる
みたいなのがやりたいんだけど
関数やり方教えて!

478 :名無しさん@そうだ選挙にいこう:2020/08/22(土) 12:33:51.90 .net
わかりました。目的は何ですか?

479 :名無しさん@そうだ選挙にいこう:2020/08/22(土) 12:57:50.40 .net
Aというファイルのシート1をコピーして別名ファイルBに貼り付けて作業用に使ってたんですが
今日からいきなり貼り付けのオプションで値貼り付けとかが出なくなりました
excelのオプション詳細設定のチェックボックスは入ってます
今までは普通にBシート1→Aシート1に貼り付け出来ていたのですが
コピー元と貼り付け先別々のファイルでも今まで貼り付け出来てたのが出来なくなったのはファイルA側で何かされたのが原因ですか?
毎日作業用にコピーしたファイルBをずっと使用してました
ファイルBでのコピーが何だか勝手にテキスト扱いになってる気がします・・・

excelのバージョンは詳しく覚えてないですが2013以降なのは間違い無いです
拙い文章ですいません

480 :名無しさん@そうだ選挙にいこう:2020/08/22(土) 13:09:10.46 .net
>>477
A列が地名、B列がランダムな数字として
C1は=B1
C2は=IF(B2="","",IF(C1<>"",C1,B2))
C3以下はC2をコピペ

481 :名無しさん@そうだ選挙にいこう:2020/08/22(土) 20:56:46 .net
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

例えば16枚のシールを3列に、できるだけ均等に貼り付けようとする時用に

    A       B      C      D      E
1  元の枚数   列数  1列目   2列目   3列目
2    16       3     6      5       5

という表を作りたくて、ネットで見つけた式をもとにC2を
=IF($B2<COLUMN(A2),"",INT($A2/$B2)+(MOD($A2,$B2)>=COLUMN(A2)))
で右に式コピーして、これはうまくいきましたが、表の位置を↓のようにして式をG3に

    E       F      G      H      I
2  元の枚数   列数  1列目   2列目   3列目
3    16       3     6      5       5

=IF($F3<COLUMN(E3),"",INT($E3/$F3)+(MOD($E3,$F3)>=COLUMN(E3)))
とすると1列目・2列目・3列目が空白になってしまいます。どう改変すればいいでしょうか?
よろしくお願いします。

482 :名無しさん@そうだ選挙にいこう:2020/08/22(土) 21:00:42 .net
$の付け方が間違ってる

483 :牧野 ◆Vbs7gX72NY :2020/08/22(土) 21:05:16 .net
>>479
ファイルのバージョンは?
xls形式ならxlsx形式にすると良い
なんか再起にxls形式でフリーズが頻繁に発生するようになっている気がする

484 :牧野 ◆Vbs7gX72NY :2020/08/22(土) 21:14:45 .net
>>481
G3=IF($F3<COLUMN(A1),"",INT($E3/$F3)+(MOD($E3,$F3)>=COLUMN(A1)))

COLUMN(A1)はセル番地ではなく「1列目」の意味で使っている
COLUMN(B1)は「2」列目という意味のようだ

485 :481:2020/08/22(土) 21:48:04.85 .net
>>484
おかげさまで成功しました。ありがとうございます!

>>482
すみません。もう少しちゃんと勉強します。

486 :名無しさん@そうだ選挙にいこう:2020/08/23(日) 05:43:03.73 .net
excelとワード2003がもう限界なんだけど、新しいのはバージョン何を買えば良いの?
月額とかは払いたくない
コスパ良いバージョンは何?

487 :名無しさん@そうだ選挙にいこう:2020/08/23(日) 06:54:03.17 .net
ドケチは何も使うな
それが一番コスパいい

488 :牧野 :2020/08/23(日) 06:59:44.02 .net
>>486
googleスプレッドシートとかでもいいんじゃない?
無料だよ
https://docs.google.com/spreadsheets/u/0/

新しいのは2019。amazonの15000円
https://www.ama
zon.co.jp/dp/B07LBNQXF6

他にも中古で安いのは色々あるけど、海賊版などが多くてどれもオススメできない

489 :名無しさん@そうだ選挙にいこう:2020/08/23(日) 07:03:44.80 .net
でコスパいいのはどれなの?

490 :名無しさん@そうだ選挙にいこう:2020/08/23(日) 07:06:33.65 .net
質問に答えてなくて草

>>488
>>486
>googleスプレッドシートとかでもいいんじゃない?
>無料だよ
https://docs.google.com/spreadsheets/u/0/

>新しいのは2019。amazonの15000円
https://www.ama
>zon.co.jp/dp/B07LBNQXF6

>他にも中古で安いのは色々あるけど、海賊版などが多くてどれもオススメできない

491 :牧野 :2020/08/23(日) 07:16:35.72 .net
>>489
やることによって違うので何とも言えないが
・家計簿ぐらいの利用でネットにも繋がっていない環境ならそもそも2003でも十分
・xlsxを使うなら2019。アップグレードが長く続くのでもっともコスパが良い

492 :名無しさん@そうだ選挙にいこう:2020/08/23(日) 07:33:30.91 .net
>>486
Officeアプリにコスパなんて考え方は普通しないから、質問の意味がわからん
限界とはどういう状態のことか、2003では何ができなくて何をやりたいのか
そもそも今正規に買い切れるのは最新の2019しかない

493 :名無しさん@そうだ選挙にいこう:2020/08/23(日) 07:55:49 .net
>>486の求めるパフォーマンスが何かわからんからコスパとか言われてもな

494 :名無しさん@そうだ選挙にいこう:2020/08/23(日) 08:06:26 .net
xlsxって何?
便利なの?

495 :俺は486:2020/08/23(日) 08:33:21 .net
>>488
エクセルとワードで1万くらいなら買取で払っても良い。
改造版じゃない2018とか2015とかなんでもいいが。

489は俺じゃない

>>491
簡単な関数は使いたい、phoneticとかifとか。
2003の挙動がもうめちゃくちゃになってきてる。パソコンを再セットアップリカバリしてもなおらないから
もう2003自体がWin10に対応していないとおもう。ワードもおかしいし。

>>492
2019以前のって買えないの?海賊版以外のやつ

496 :名無しさん@そうだ選挙にいこう:2020/08/23(日) 08:46:44 .net
>>495
だからその「挙動がめちゃくちゃ」「ワードもおかしい」の部分を、もうちょっと具体的に書いて欲しいのよ
保証はないけど一応基本的な機能はWin10+2003でも使えるのを多くの人が確認してるから、原因がどこにあるのかをまず共有しないと質問に答えられない

とりま今から買える正規品は2019と365だけ
それ以外は海賊版か中古、運が良ければどこかのショップやオークションで長期在庫品が見つかるかも知れないってレベル

497 :名無しさん@そうだ選挙にいこう:2020/08/23(日) 08:50:51 .net
>>495
もしIEをコントロールしてネットからデータ収集してるなら、マクロが正常に動かないのは新しいIEのせいだよ
Excelを最新にしても同じ

498 :牧野 :2020/08/23(日) 09:03:04.30 .net
>>494
2007からファイル形式が変わってxlsxになった
2003以前のxls形式はセキュリティ的に終わっているので、大半の人はxlsxを使っている
他の人とファイルをやり取りする時にはxlsx形式の方が都合が良い
自分のPC内で家計簿付けるだけなら、2003のxls形式でも何一つ問題はない

>>495
互換モードってのがあるからそれを試してみてはどうかな
https://pc-karuma.net/windows-10-apps-compatibility-mode/

それでも動かないなら2019で良いだろう

499 :俺は486:2020/08/23(日) 09:35:59.46 .net
>>496
挙動について
ワードはページが360ページあるんだけど、
箇条書きボタンを押して●や数字を表示させようとすると、10秒から20秒位ワードがフリーズする
その時にタスクマネージャーを見ると使用率が1%位から13%位まであがる
CPUのファンも高速回転する

エクセルのおかしい挙動は
データがたてに5000セル位分横に4列位あって、それが関係しているかどうかわからないが
この横4列のどれかのでデータをデリートとかで削除しようとすると、ワードのときと同じくフリーズして、CPU稼働率アップする


他には、
関数使った時に、うまくいくときと行かないときがある

それが俺の操作ミスなのか、バージョンがだめなのかって検証するのもだるいくらい頻繁に多くトラブルが起きる。

他には
Win10の2年くらい前のアップデートのときは、エクセルに文字を入れてエンターで確定させるとワードのときと同じ挙動が起きていた
去年のWin10バージョンアップをしたらそれではエクセルの文字入力エンターのトラブルは起きなくなった


>>498
互換性のタブがワードもエクセルのプロパティになかった

>>497
IEは使ってない

500 :名無しさん@そうだ選挙にいこう:2020/08/23(日) 10:00:44.48 .net
それパソコン買い換えた方がいいだろ

501 :名無しさん@そうだ選挙にいこう:2020/08/23(日) 10:13:19.63 .net
2003で困ることなんて、65536行までしか入らないくらいしかないけどな。

502 :名無しさん@そうだ選挙にいこう:2020/08/23(日) 12:33:41.38 .net
>>501
xlsx開けないのはストレス

503 :名無しさん@そうだ選挙にいこう:2020/08/23(日) 12:50:45.93 .net
PCが低スペックなのが原因だったら2019買っても治らないんじゃないのかな。悪化するかも。

504 :名無しさん@そうだ選挙にいこう:2020/08/23(日) 12:51:20.05 .net
2003でもxlsx開けるじゃん

505 :名無しさん@そうだ選挙にいこう:2020/08/23(日) 12:59:46.75 .net
>>502
そういう単純な理由ならMicrosoft Office 互換機能パックを入れれば開くことは出来る
2018年についに公開中止になったけど、探せば見つかるし2003とかの人はまず入れてるんじゃ無いかな
すぐにセキュリティガー!とか言う人は必ずいるけど

506 :名無しさん@そうだ選挙にいこう:2020/08/23(日) 13:03:47.52 .net
>>503
後、ファイルがおかしくなってるというパターンもある
その場合どのPCやオフィスで開いても同じ様な現象が出る

昔のエクセルはセルの書式設定の上限が決まっていて、上限を超えるとある日突然開け無くなると言う
致命的な「仕様」があったからな
救済方法も無いとか明らかに酷いけどMSは仕様だと言い張っていたし

長年コピーペーストを駆使して複数ワークシートを作成していたブックとかで起きやすい

507 :名無しさん@そうだ選挙にいこう:2020/08/23(日) 13:32:25 .net
excelとwordだけほしいんだけど、2つでこんな高いの?
安いバージョンとかないもんなんこれ?

508 :名無しさん@そうだ選挙にいこう:2020/08/23(日) 14:04:57 .net
visio安くして欲しい

509 :名無しさん@そうだ選挙にいこう:2020/08/23(日) 14:08:46 .net
その価格を払う価値が無いと思うのであればOpenOfficeやグーグルスプレッドシートを使うしか無い
ただ将来仕事で使うとかの予定があるのであれば間違い無く必要な投資と考えた方がいい
97や2003あたりは10年使う人も多かったし、2010でも未だに現役な人は多いから決して高くは無いと思うが

510 :名無しさん@そうだ選挙にいこう:2020/08/23(日) 14:16:24 .net
ヤフオクで打ってるやつって入札いっぱいはいってるけどこれ使うとどうなるの?

511 :名無しさん@そうだ選挙にいこう:2020/08/23(日) 14:33:05.44 .net
で2つ合わせて譲ってくれる人いないの?
七千五百円までならだす。

512 :名無しさん@そうだ選挙にいこう:2020/08/23(日) 14:39:54.25 .net
いない

513 :名無しさん@そうだ選挙にいこう:2020/08/23(日) 14:42:11.59 .net
こいつの問題はPCがいかれてること
Excel新しいの買っても解決にならない
それ以前に大したことに使ってないみたいだけどな

514 :名無しさん@そうだ選挙にいこう:2020/08/23(日) 14:54:07.18 .net
>>510
ヤフオク オフィス リスク
あたりでググって味噌

515 :名無しさん@そうだ選挙にいこう:2020/08/23(日) 15:57:59.55 .net
>>514
ぐぐったよ 中国人がどうのこうの
2013のパッケージとかかったらまずいの?

516 :名無しさん@そうだ選挙にいこう:2020/08/23(日) 16:56:22 .net
excele2019の体験版ってないの?365って月学でしょ?いらんわ

517 :名無しさん@そうだ選挙にいこう:2020/08/23(日) 17:55:58.49 .net
>>515
> 2013のパッケージとかかったらまずいの?
やってみたらいいんじゃね?
お前が捕まろうと損しようと俺には関係ないしw

518 :名無しさん@そうだ選挙にいこう:2020/08/23(日) 18:04:47.47 .net
>>516
たかすぎなんだよこれ

519 :名無しさん@そうだ選挙にいこう:2020/08/23(日) 18:45:11.54 .net
さっきから、高いだの旧バージョンはないかだの、うるさいなあ

高いと思うなら買わなきゃいい。
旧いのほしけりゃ、ジコセキニンでオクででも探せ

520 :名無しさん@そうだ選挙にいこう:2020/08/23(日) 18:49:26.18 .net
すきにしなはったらよろしいでおま

521 :名無しさん@そうだ選挙にいこう:2020/08/23(日) 19:00:05.92 .net
オクで買ってことある?

522 :牧野 :2020/08/23(日) 19:36:55.18 .net
>>499
Wordはあまり詳しくないけど・・・

>その時にタスクマネージャーを見ると使用率が1%位から13%位まであがる
i7 3770辺りの8コアでマルチスレッド非対応と仮定すると、1コアを限界まで使い切って頭打ちになっているかもしれない
全然違うかもしれない。
ただどういうPCにしろ、360ページは重すぎると思う

>互換性のタブがワードもエクセルのプロパティになかった
ファイルじゃなくてexcel.exeの方
https://i.imgur.com/1DbFWZV.png

>IEは使ってない
IEじゃない、マクロでIeをコントロールとして使っている場合。

523 :牧野 :2020/08/23(日) 19:40:01.53 .net
>>507
それだけ便利で売れてるからね。正直、本気で使う連中なら15000円は安すぎる

>>521
古いバージョンが欲しくて、97を500円で買ったことなら
問題なく動いたよ

524 :名無しさん@そうだ選挙にいこう:2020/08/23(日) 20:47:31 .net
どこで買ったの?500円は安い。

525 :牧野 ◆Vbs7gX72NY :2020/08/23(日) 20:54:16 .net
>>524
ヤフオク
https://auctions.yahoo.co.jp/closedsearch/closedsearch?p=%E3%82%A8%E3%82%AF%E3%82%BB%E3%83%AB97&va=%E3%82%A8%E3%82%AF%E3%82%BB%E3%83%AB97&b=1&n=50
なんなら100円で落とされてる。2000円ぐらい出せば今でも即決で買えるようだ

今なら1000円で即購入できる
https://auctions.yahoo.co.jp/search/search?p=%E3%82%A8%E3%82%AF%E3%82%BB%E3%83%AB97&va=%E3%82%A8%E3%82%AF%E3%82%BB%E3%83%AB97&b=1&n=50

プロダクトキーが無いものもあるから気をつけて

526 :名無しさん@そうだ選挙にいこう:2020/08/23(日) 21:00:40 .net
名前をつけたセル範囲の、特定のセルだけ参照する方法はありますか?
=名前(1)
みたいに配列っぽくアクセスできませんでしょうか。

527 :名無しさん@そうだ選挙にいこう:2020/08/23(日) 21:05:49 .net
>>526
indexとか使わないと無理

528 :牧野 ◆Vbs7gX72NY :2020/08/23(日) 21:06:25 .net
>>526
なんとなくやってみたら出来。index()使う
※A1:A3=a1_kara_a3という名前が継いている
https://i.imgur.com/hBRwIpx.png

529 :名無しさん@そうだ選挙にいこう:2020/08/23(日) 21:37:46.39 .net
キーないと買っても意味ないんだよね?
こんなの売っていいの?

530 :名無しさん@そうだ選挙にいこう:2020/08/23(日) 21:38:39.20 .net
97っていつのバージョンだよ
もっと欲に立つの紹介しろよ

531 :名無しさん@そうだ選挙にいこう:2020/08/23(日) 21:47:19.34 .net
>>522
互換性モードをWin8とXpサービスパック3に変えてもだめでした

私のパソコンはi7 3770kです 2012年あたりに買いました メモリは16Gです
グラボはついていません SSD500Gです

532 :名無しさん@そうだ選挙にいこう:2020/08/23(日) 21:59:20.32 .net
早く買い換えなさい。
時間の無駄です。

533 :名無しさん@そうだ選挙にいこう:2020/08/23(日) 22:14:41.13 .net
>>530
97の頃はライセンス管理がザルだったからコピーし放題
あとはわかるよね
牧野 ◆Vbs7gX72NY とやらがわざとなのか知らずにやってるのかは知らんけど害悪でしかない

534 :牧野 :2020/08/23(日) 22:34:50.62 .net
>>529
大体当ててる自信はあったけどドンピシャとはだまげたなぁ
俺はi5 2400を使ってたんだけど、どうやってもだめで365を購入した。
結構いい年なので、そっちの方がコスパが安い。労力・セキュリティ面を含めたコスパだ
10代なら2019を購入し、また10年後にこういう質問をしただろうな

君はどこかで、2003を無限に使えると思っていると思うが、恐らくハード的に完全に限界だ
労力を含めたコスパを考えるなら、2019を買うのがどう考えてもベストなんだ

どうしても安く済ませたいなら、その代償に君の時給が下がり続ける事になり、それに見合った糞エクセルが提供されることになるだろう

535 :名無しさん@そうだ選挙にいこう:2020/08/23(日) 22:54:30.83 .net
無限に使えないと思ってるから聞いてるんだけど

536 :名無しさん@そうだ選挙にいこう:2020/08/24(月) 07:16:39.15 .net
アマゾンで1000円以下で売ってるな

537 :名無しさん@そうだ選挙にいこう:2020/08/24(月) 07:24:41.87 .net
2019を安く買う方法は?

538 :名無しさん@そうだ選挙にいこう:2020/08/24(月) 09:29:05.52 .net
2019ですがピポット棒グラフでを作ったときに、軸のラベルが一個置きに表示されること無いですか?
例えば軸が日付だとして

1/1 ■■■■
   ■■■■
1/3 ■■■■
   ■■■■
1/5 ■■■■

の様になる。棒はちゃんと全部表示される
これは勿論エクセルの自動機能のお陰なんですか、たまに
[軸の書式設定]→[軸のオプション]→[ラベル]→間隔の単位=1
とやっても直らない(というかデフォルトで1のはず)

謎1
縦が短すぎるかフォントが大きすぎるのかと思って縦を思いっきり延ばしたり、フォントを思いっきり小さくしても同じ

謎2
[軸の書式設定]→[サイズとプロパティ]
に4方向の余白やテキストのはみ出しを設定するっぽいのがあって、これかとも思うのですが
この設定は常にグレーアウトしていて設定出来た試しがありません

謎3
軸の行をフィルターしたりして表示する内容を変えると(例えば4月を表示していたのを10月にするとか)直ったりする


この謎の挙動はなんなんですかね?

539 :名無しさん@そうだ選挙にいこう:2020/08/24(月) 10:08:12.43 .net
その行の軸データに入らない空白が入ってる
別に困ってないなら聞くなよ

540 :名無しさん@そうだ選挙にいこう:2020/08/25(火) 09:37:11.90 .net
>>539
「困ってない」ってどこを読んだら読み取れるの?w

541 :名無しさん@そうだ選挙にいこう:2020/08/25(火) 10:01:30.69 .net
不思議に思ってるだけって書いてあるだろ

542 :名無しさん@そうだ選挙にいこう:2020/08/25(火) 12:02:31.44 .net
お世話になります。

状況が限定的かもしれませんがお知恵をお貸しください。

VBAを使用し、ユーザー定義関数で処理を行っています。
シートが1,2,3とあり、同じフォーマットがコピーされている状況で
引用される数値がそれぞれシート毎に違い、算出される結果は異なるはずなのですが
最終更新したシートの数値が別シートにも反映されてしまいます。

(例)シート1=結果100 の時にシートを切り替える⇒シート2=結果100

ただし、シート2で適当なセルを更新すると結果が正しい数値に治ります。
処理落ちのような感じなのですが
解決する方法はありますでしょうか?

宜しくお願い致します。

543 :名無しさん@そうだ選挙にいこう:2020/08/25(火) 12:13:14.33 .net
>>542
変なタイミングで自動計算が手動計算になってない?

544 :名無しさん@そうだ選挙にいこう:2020/08/25(火) 13:51:44.83 .net
どんな関数かわからんからあれだけど、volatile入れれば動くようになる系じゃないのかな

function 関数名(引数)
 application.volatile
 処理
end function

https://docs.microsoft.com/ja-jp/office/vba/api/excel.application.volatile

545 :>>542:2020/08/25(火) 14:10:05.61 .net
回答ありがとうございます。

全シート確認しましたが、自動計算になっています。
又、関数ですが Application.Volatile True になっています。

シート変更した時に再計算するVBAでも仕込んだ方が
賢そうですかね…。これ以上重くはしたくないのですが…。

546 :>>542:2020/08/25(火) 14:44:45.57 .net
Application.Calculate も適用されません。
打つ手なしです…(汗)

547 :名無しさん@そうだ選挙にいこう:2020/08/25(火) 19:15:20.64 .net
win10、Microsoft365E、VBA不可

Excelでふたつのテーブルを比較させて不一致のレコードを抽出したい
EXACTでは追加や削除があった場合、それ以降すべて不一致として判定されるので使えません
互いの行がずれても正しく判定する方法があればおしえてください

548 :名無しさん@そうだ選挙にいこう:2020/08/25(火) 19:18:48.07 .net
ソートする

549 :名無しさん@そうだ選挙にいこう:2020/08/25(火) 19:24:54.46 .net
>>547
vlookupでエラー吐かせれば?

550 :牧野 :2020/08/25(火) 19:36:46.61 .net
>>542
ActiveSheetとか入ってる気がする

Function test()
test = ActiveSheet.Cells(1, 1)
End Function

これじゃなければコードを見ないと分からない

>>547
全部の列を繋いでcountif()とか
=a1&b1&c1・・・
これがもう一つのテーブルにあれば2で問題なし、1なら問題あり

551 :名無しさん@そうだ選挙にいこう:2020/08/25(火) 19:55:53.58 .net
回答ありがとうございます。
明日、countifで試してみようと思います。

552 :名無しさん@そうだ選挙にいこう:2020/08/25(火) 21:15:36.32 .net
>>547
レコードとかテーブルという用語を使ってる時点でクエリしか無いだろう。

553 :名無しさん@そうだ選挙にいこう:2020/08/25(火) 21:40:30 .net
>>542
ユーザー定義関数ってなんかへんなキャッシュ入るっぽいんだよね
必要なくてもセルを引数に取って、シートからはそのシート中の適当なセルを渡すとうまくいくかもしれない

554 :名無しさん@そうだ選挙にいこう:2020/08/25(火) 22:27:58.54 .net
A1セルとB1セルが空欄の時にB1セルに
"要入力"と表示され、かつB1セルを入力
可能のままにしたいのですが、方法は
ありますか?
プレースホルダーみたいなイメージです。

555 :名無しさん@そうだ選挙にいこう:2020/08/25(火) 22:41:04.89 .net
>>554
別セルでIF関数使って実現しな
プレースホルダーはユーザー負荷高いからおすすめしないhttps://u-site.jp/alertbox/form-design-placeholders

それか、未入力なら(IF関数)、背景を黄色なりで色塗るよう条件付き書式設定してやればユーザーには優しいかもしれない

556 :名無しさん@そうだ選挙にいこう:2020/08/25(火) 23:24:06.03 .net
C1を右揃え、要入力  と入力し、C列の幅を極小にする

557 :名無しさん@そうだ選挙にいこう:2020/08/26(水) 08:42:15 .net
IF や VLOOKUP などの関数でときどき誤動作を起こします。
例えば IF(A1=1,"○","×") で、A1 が 1 なのに × になるとか。
詳しく調べると、A1 の表示は 1 なのに値は 1.000005 のような表示されない誤差。
A1 の式は 0.000005 の誤差が出ないはずですがEXCELの仕様?
とは言えすべての式を IF(ROUND(A1,0)=1,"○","×") のようにするのは面倒です。
計算結果も含め「小数*位以下の差は無視する」を既定設定で出来ますか?

558 :名無しさん@そうだ選挙にいこう:2020/08/26(水) 08:55:11 .net
それ仕様

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

tsvをコピーして貼り付けた際、今までは自動でタブ文字でセルが別れていました
しかし最近は1列にまとまってしまい、区切り文字→タブで区切り、セルを分ける必要が出てきています
貼り付けた時、自動的にタブ文字でセルが分かれるような設定ってあるのでしょうか?

元になるtsvは専用ソフトから出力されていますが、
手動で作ってみても同じでした

560 :名無しさん@そうだ選挙にいこう:2020/08/26(水) 09:42:33 .net
>>559
区切り位置の機能を一度でも使うと、その時の設定がコピペでも引き継がれる
適当なデータをTABで区切ったあとコピペすれば元の動作に戻る
昔からのおせっかい仕様

561 :名無しさん@そうだ選挙にいこう:2020/08/26(水) 10:08:14.08 .net
>>557
少し違うけど
オプション->詳細設定->表示桁数で計算する

でも、誤動作じゃないよ
計算の誤差も、10進数の小数点以下を2^-nの和で正確に表現できない事から起る仕様

562 :名無しさん@そうだ選挙にいこう:2020/08/26(水) 14:52:24.42 .net
>>561
ありがとうございます
オプション設定をしましたが、セルの値が 1.000005 なら表示が 1 でも × ですね。
結局、計算結果を参照して判断するなら ROUND 関数で計算誤差を丸めないと。
仕様とはいえ、微少な計算誤差は指定した桁で丸めるオプション設定が欲しい。

563 :名無しさん@そうだ選挙にいこう:2020/08/26(水) 17:14:06.20 .net
VBAの引数は流用するように宣言できますか?

564 :名無しさん@そうだ選挙にいこう:2020/08/26(水) 17:39:54.26 .net
SET1 = Range("A1")+Range("A2")
SET2 = Range("B1")+Range("B2")

みたいなのをひとつだけ書いておいて
複数のプロシージャで使用したいです。

565 :名無しさん@そうだ選挙にいこう:2020/08/26(水) 17:56:22.61 .net
>>562
2未満でいいじゃん

566 :名無しさん@そうだ選挙にいこう:2020/08/26(水) 19:08:12.51 .net
>>564
一瞬、範囲を結合してSet出来るのかと思ったわ。

567 :名無しさん@そうだ選挙にいこう:2020/08/26(水) 19:35:18.81 .net
>>564
Subとかfunctionの後に()あるでしょ
その中に、Byval a As Longとか書く
もちろん呼び出す側もcall 〇〇プロシージャ(a)で呼び出す

568 :名無しさん@そうだ選挙にいこう:2020/08/26(水) 21:15:46.99 .net
>>555.556
ありがとうございます、要入力とせずに
着色で対応しようと思います。

569 :名無しさん@そうだ選挙にいこう:2020/08/26(水) 21:32:07.41 .net
>>564
public変数として宣言

570 :>>564:2020/08/27(木) 09:32:10 .net
>>569
Public num = Range("A1")+Range("A2") As Integer
ではエラーになりますよね?

571 :名無しさん@そうだ選挙にいこう:2020/08/27(木) 10:51:58.18 .net
>>570
Public Function ××() As Integer
×× = Range略
End Function
で動くよ

別にPublic Property Getで同じような書き方してもいいけど

572 :名無しさん@そうだ選挙にいこう:2020/08/27(木) 11:17:42 .net
>>571
Public Function xx() As Integer
xx = 条件1 and 条件2
End Function

Call xx しても反映されないですが
何か間違っているでしょうか?

573 :名無しさん@そうだ選挙にいこう:2020/08/27(木) 12:16:39.03 .net
Aの欄に日付が入っています
Bの欄に数が並んでいます
Cの欄に分類のための番号が入っています

Aを横軸、Bを縦軸としたグラフをCごとの系列で作りたいのですが、
今まではIFを使って別シートにCの値でカラム分けした表を作ってからグラフにしていました
もっと簡単にできる方法があれば教えてください

574 :名無しさん@そうだ選挙にいこう:2020/08/27(木) 13:39:34.34 .net
>>572
callして使うんじゃなくて変数的に使うものだから

575 :名無しさん@そうだ選挙にいこう:2020/08/27(木) 14:22:03.64 .net
お世話になります。
Excel VBAで印刷時にシート1〜4を再計算し印刷
というのを組んでいるのですが
各シート印刷時は再計算されるのですが、複数シートを選択すると
シート2以降が再計算されず困っています。

また、PDFとして保存する際はどのようなコードを書けばよいのでしょうか?

回答お待ちしております。

576 :名無しさん@そうだ選挙にいこう:2020/08/27(木) 14:26:42.51 .net
質問と困ってることが全然違うんですが、質問は何ですか?

577 :>>575:2020/08/27(木) 14:34:35.47 .net
>>576
申し訳ありません。
再計算された状態で印刷するコードが知りたいです。
また、PDFでも保存するのでそのコードも教えていただけると幸いです。

578 :名無しさん@そうだ選挙にいこう:2020/08/27(木) 15:31:20.06 .net
>>577
Excelファイル PDF出力 VBAでググれば後者は簡単に解決すると思います

579 :>>575:2020/08/27(木) 16:12:19.64 .net
>>578
再計算された状態でPDFにできないので困っています

580 :名無しさん@そうだ選挙にいこう:2020/08/27(木) 17:03:08 .net
このスレのおかげで
気象庁サイトの過去の気象データ検索から
特定地点の1時間値を1日ごとにPower Queryで読み取って
1年分くらいをまとめるVBAが
なんとか出来まスた。

感謝。

581 :名無しさん@そうだ選挙にいこう:2020/08/27(木) 17:39:19.18 .net
シート見せて

>>579
>>578
>再計算された状態でPDFにできないので困っています

582 :名無しさん@そうだ選挙にいこう:2020/08/27(木) 20:09:56.41 .net
>>579
ExcelをPDFにするんじゃなくて、PDFに計算式入れたら?

583 :牧野 :2020/08/27(木) 20:55:03.40 .net
>>575
再計算は
calculate
を一行入れるだけじゃダメか

pdfへの出力と合わせると

Sub outputPDF()

'再計算
calculate

Dim fileName As String '保存先フォルダパス&ファイル名
fileName = ThisWorkbook.Path & "\201603請求書_株式会社ホゲホゲ御中.pdf"

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, fileName:=fileName
End Sub

参考
https://tonari-it.com/excel-vba-pdf/

584 :名無しさん@そうだ選挙にいこう:2020/08/28(金) 11:08:28 .net
しーと2が再計算されないんです

585 :名無しさん@そうだ選挙にいこう:2020/08/28(金) 13:26:08.94 .net
>>541
「不思議」で検索してもお前の書込しかヒットしないが?

586 :名無しさん@そうだ選挙にいこう:2020/08/28(金) 14:51:59.40 .net
画像のようなデータがあったとして
F3に入力した数字で、D列にフィルターがかかる ということはできないのでしょうか。
https://imgur.com/QSNKruC

587 :名無しさん@そうだ選挙にいこう:2020/08/28(金) 14:52:16.86 .net
urlの貼り付けをミスりました。
https://imgur.com/QSNKruC.jpg

588 :名無しさん@そうだ選挙にいこう:2020/08/28(金) 15:19:35.13 .net
連投申し訳ございません。
人名のデータリストがあったとして、それにフリガナを振ろうと思っております。
その時、フリガナも統一したいと思ったため(田中なら全員タナカ 仮にデンナカでも問題なし)、VBAでフリガナを一度消して振り直すコードを書いて実行しました。
しかし、エクセルは前のフリガナを記憶しているようで、同じ田中でもフリガナが違う場合があります。
それだと名前順にソートしたときに、同じ名前なのにバラバラの行に振り分けられてしまい、まずいです。

同じ漢字なら同じフリガナを振り直すには、どうすればよいのでしょうか


なお上のフィルターの質問は、vbaを使わない方法があれば教えていただきたいです。
どうかよろしくお願いいたします。

589 :名無しさん@そうだ選挙にいこう:2020/08/28(金) 15:29:59.81 .net
>>588
やり方が間違ってる
フリガナを消すのはRange.Characters.PhoneticCharacters = ""
再設定はRange.SetPhonetic

590 :名無しさん@そうだ選挙にいこう:2020/08/28(金) 15:43:21.08 .net
>>589
そのようにしております。

591 :名無しさん@そうだ選挙にいこう:2020/08/28(金) 15:44:58.05 .net
申し訳ございません。フリガナの>>588の質問に関してはうまくいっておりました。
同じ漢字なのに同じフリガナにならないなー と思っていたら、漢字が違っておりました。
大変失礼いたしました。

592 :名無しさん@そうだ選挙にいこう:2020/08/28(金) 17:12:49 .net
初心者質問で申し訳ありません。
列全体(決められたセル数ではなく、これからもデータが追加されるため列全体)の
 -の数値(小数点第2位まで)だけを 色変更したいのですが
どのような数式になりますか?

593 :名無しさん@そうだ選挙にいこう:2020/08/28(金) 18:22:45.52 .net
>>592
表示形式か条件付き書式
全行入れるのはオススメしない。重くなるかもしれないから

594 :名無しさん@そうだ選挙にいこう:2020/08/28(金) 19:55:41.07 .net
>>588
VBAを使わないのであれば、フィルタの詳細設定を手動でやるか、
ROWとCOUNTIFでフィルタ風の計算式を作る。
誰か上の方で作ってなかったっけ?

595 :名無しさん@そうだ選挙にいこう:2020/08/28(金) 20:00:07.17 .net
>>588
って、よく見たら連番じゃないか。
例がおかしいか、INDEX&MATCHで十分か、どっちかだな。

596 :名無しさん@そうだ選挙にいこう:2020/08/28(金) 20:57:49.34 .net
誰がなんの質問してるかわからないから名前書くかトリップつけろ

597 :名無しさん@そうだ選挙にいこう:2020/08/28(金) 21:28:23.69 .net
◆香具師

こうかな?

598 :名無しさん@そうだ選挙にいこう:2020/08/28(金) 23:44:17 .net
>>587
VBAなしということなら
他の行に飛ばしてそこの表示をフィルターかける感じでいいなら

連番(番号の重複がない)の場合はindexとmatchでとばすだけ

重複があるなら
countifで検索して該当箇所にsumで行番つけてindex・match・rowで拾う感じにするかな

599 :ヨガウンコ←名前付けたぞ:2020/08/29(土) 10:33:19.50 .net
>>587
クエリーテーブルだな。

Select A.*
From 範囲1 As A, 範囲2 As B
Where A.番号 = B.番号

これで範囲2の番号書き換えて更新すれば、フィルタがかかったみたいになるだろう。

600 :ヨガウンコ:2020/08/29(土) 10:35:37.94 .net
ああ、これ回答する方が名前書いても意味ないのか。
次からやめるわ。

601 :名無しさん@そうだ選挙にいこう:2020/08/29(土) 10:49:22.04 .net
それ以前にお前存在する理由あるの?

602 :名無しさん@そうだ選挙にいこう:2020/08/29(土) 10:54:13.64 .net
VBAで質問です。

何十列もある表で不要な列を大量に削除したいと思っています。

Range("A1,N1:U1.....").entirecolumn.deleteといった感じで手作業、つまり目で列を確認してコードを書くしかないのでしょうか??

分かる方お願いします。

603 :名無しさん@そうだ選挙にいこう:2020/08/29(土) 10:59:47.92 .net
>>602
列が不要かどうかを機械でも判断できるような条件なら自動化できる

604 :名無しさん@そうだ選挙にいこう:2020/08/29(土) 13:26:46.07 .net
不要の列はどのように確認すれば?

605 :名無しさん@そうだ選挙にいこう:2020/08/29(土) 17:36:07 .net
VBA使えません。
?テーブル化されてる(色がシマシマ)データを解除して普通にデータにする方法教えてください。
コピペで新しいシートに123形式で貼る以外に方法ありますか?

?絞り込みして見えてる部分に対してオートフィルで連番できないのは仕方ないのでしょうか?

606 :名無しさん@そうだ選挙にいこう:2020/08/29(土) 17:39:43 .net
できるよ

607 :名無しさん@そうだ選挙にいこう:2020/08/29(土) 18:35:47.58 .net
>>605
テーブル解除

608 :名無しさん@そうだ選挙にいこう:2020/08/29(土) 18:53:26.88 .net
>>606ー607
テーブル解除で検索してみた、範囲に変換っていう変な名前のボタンがそれだったみたい(´;ω;`)ありがとう。

609 :牧野 :2020/08/29(土) 18:57:32.92 .net
>>602
1行目に行挿入
不要な列に「1」を入力
イカコードを走らせる
最後に一行目を削除
とか

Sub Macro1()
最終列 = Cells(2, Columns.Count).End(xlToLeft).Column
For i = 最終列 To 1 Step -1
If Cells(1, i) = 1 Then
Columns(i).Delete Shift:=xlToLeft
End If
Next
End Sub

610 :名無しさん@そうだ選挙にいこう:2020/08/29(土) 23:04:35 .net
イカってなんですか

611 :名無しさん@そうだ選挙にいこう:2020/08/30(日) 00:58:49.95 .net
>>602
selection.entirecolumn.delete

612 :名無しさん@そうだ選挙にいこう:2020/08/30(日) 08:07:17.14 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2019
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
アンケートの清書みたいな感じで
質問の答えのA・B・Cのどれかに○をつける作業が
1ファイルあたり30項目くらいで、ファイルが50くらいあります。
ファイルの内容や書式は共通ですがABCどれに○かはそれぞれ違います。
A・B・Cはアルファベットもナカポツも各1セルで5セルに入っています。
この○付け作業は、今まで図形の○付けでやってきましたが、やたら時間がかかります。
リスト選択にして、記号の○付き文字に変えるとすると、文字サイズを揃える必要が出てきます。
何か効率的に○付けをしていける方法は、ないでしょうか?
できればABC各何個か集計も出来ると助かります。ファイルごとや全体でも。
良い方法を教えてください。

613 :名無しさん@そうだ選挙にいこう:2020/08/30(日) 08:52:40.76 .net
オプションボックスにしたらいいのでは?

614 :名無しさん@そうだ選挙にいこう:2020/08/30(日) 10:52:01.21 .net
オプションボックスとは何ですか?
初心者にも分かるように書いてもらえますか?

615 :牧野 :2020/08/30(日) 11:06:02.71 .net
>>612
前提がめんどくさすぎる。
フォントサイズごとコピーするのが一番早いと思う

Aの回答→?
Bの回答→?
Cの回答→?


そもそものフォーマットを変更できるならした方が良いと思う
https://i.imgur.com/K1bXRNp.png

後はgoogleフォームを使うと、アンケートや集計が楽になるよ

616 :牧野 :2020/08/30(日) 11:06:22.23 .net
文字化けしてしまった
囲み文字はここからコピー
https://qiita.com/yoh-nak/items/fcea0b5ba51a6dd762ef

617 :名無しさん@そうだ選挙にいこう:2020/08/30(日) 11:14:25.30 .net
>>615
フォーマットは変更不可なので悩んでいるところです

618 :名無しさん@そうだ選挙にいこう:2020/08/30(日) 11:33:17.03 .net
Excelにこだわらずforms使った方が早くない?

619 :牧野 :2020/08/30(日) 11:50:27.73 .net
>>617
フォーマットの変更不可はキツイな
vbaで○はつけられるけどエクセルは図形がとにかくずれるのであまりやらないほうが良い
それに結局どこに○を付けるかを指定する必要があるので、それを考えると囲み文字にしてしまったほうが早い

620 :名無しさん@そうだ選挙にいこう:2020/08/30(日) 12:32:52.94 .net
>>619
やっぱり囲み文字をリスト選択にして、マクロでフォントサイズ指定が現実的なところですかね

621 :牧野 :2020/08/30(日) 12:41:59.66 .net
>>620
そっちの方がいいかな、コピペより早そうだ

あと、条件付き書式でフォントサイズ変えると早いとおもったけど条件付き書式はフォントサイズ変えられないのね

622 :名無しさん@そうだ選挙にいこう:2020/08/30(日) 13:43:15 .net
等幅フォントで全角Aに囲み合成文字(U+20DD)とか
A&#8413;

623 :名無しさん@そうだ選挙にいこう:2020/08/30(日) 15:45:45.82 .net
後で集計できるように記録できますか

624 :名無しさん@そうだ選挙にいこう:2020/08/30(日) 23:53:52.26 .net
このデータをアイウエオ順に並べ替えたいのですが、どうすればいいかわかりますか?

百均のサンダル(東南アジアは必須)
百均のS字フック
百均の吸盤フック
百均のジッパー付き小物入れ
百均のジッパー付き手提げ袋(大)
 ※ 荷物が増えてバッグに入らなくなった場合等の緊急用
百均の財布または小銭入れ
百均の靴下
百均の使い捨てパンツ
百均の靴中敷き
百均の小型物干しまたは洗濯ばさみ
百均の爪切り
百均のハサミ
百均の絆創膏
百均のサージカルテープ
百均のガーゼ
百均のハンガー
百均の南京錠
百均の自転車用ワイヤーロック
百均のウェットティッシュ
百均の手袋(寒い時)または軍手
百均の製氷皿(暑い時)
百均のペットボトルホルダー
百均の方位磁石
百均の指示棒
百均のボールペン
百均の小型置時計

625 :名無しさん@そうだ選挙にいこう:2020/08/31(月) 00:02:55.27 .net
>>624
ふりがなを追加入力してソートすれば簡単にできる

626 :名無しさん@そうだ選挙にいこう:2020/08/31(月) 01:42:22.68 .net
2007利用です
数値を加算するSUMについて
SUMに利用したセルを着色なり枠に色をつけるなり出来ませんか
どのセルを利用しているのか分かりやすくしたいです

627 :名無しさん@そうだ選挙にいこう:2020/08/31(月) 08:03:58.08 .net
>>624 関連
1、-1、2、-2、3、-3 をソートすると -3、-2、-1、1、2、3 と並び替えられますが、
A1、A2、A3、A-1、A-2、A-3 だと A1、A-1、A2、A-2、A3、A-3 となり、
A01、A001 やAと数値の間に空白や"*"、"_"などを入れると、また変わります。
A-3、A-2、A-1、A1、A2、A3 と、数値の部分を正しく並び替える方法はありますか。

以前のバージョンと異なっているようで、昔作った表がうまく並び替えられない。
(2003以前と2007以降とで変わったような)

628 :名無しさん@そうだ選挙にいこう:2020/08/31(月) 08:45:41.92 .net
>>626
一時的でいいんなら、数式の入ったセルを編集状態にすると数式で使われてるセルに色が付く

629 :名無しさん@そうだ選挙にいこう:2020/08/31(月) 08:47:52.51 .net
>>627
書式をたとえば
"A"0
にしてセルには数字だけ入れる

630 :名無しさん@そうだ選挙にいこう:2020/08/31(月) 09:01:24.44 .net
>>626
・セル編集
・参照元のトレース
・条件を指定してジャンプ->参照元->着色

631 :名無しさん@そうだ選挙にいこう:2020/08/31(月) 12:04:13.51 .net
常に表示できませんか?

632 :名無しさん@そうだ選挙にいこう:2020/08/31(月) 19:05:41 .net
>>631
バージョンアップして条件付き書式とformulatext

633 :名無しさん@そうだ選挙にいこう:2020/08/31(月) 19:16:25 .net
2019に「1-1」と入力したら「1月1日」と変換しない設定とか追加されてますか?

634 :名無しさん@そうだ選挙にいこう:2020/08/31(月) 19:35:31.49 .net
>>633
https://support.microsoft.com/ja-jp/office/%E6%95%B0%E5%80%A4%E3%81%8B%E3%82%89%E6%97%A5%E4%BB%98%E3%81%AB%E8%87%AA%E5%8B%95%E7%9A%84%E3%81%AB%E5%A4%89%E6%9B%B4%E3%81%95%E3%82%8C%E3%81%AA%E3%81%84%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B-452bd2db-cc96-47d1-81e4-72cec11c4ed8

635 :名無しさん@そうだ選挙にいこう:2020/08/31(月) 20:17:14.87 .net
>>634
ありがとう

636 :名無しさん@そうだ選挙にいこう:2020/09/01(火) 13:48:13.81 .net
>>598
申し訳ないです
全く分かりません

637 :名無しさん@そうだ選挙にいこう:2020/09/01(火) 13:48:34.51 .net
>>599
Excel2013です

638 :名無しさん@そうだ選挙にいこう:2020/09/01(火) 16:44:12.42 .net
>>637
フィルターの詳細設定を使って別の範囲に抽出ならできる

639 :名無しさん@そうだ選挙にいこう:2020/09/01(火) 18:44:30.06 .net
すいません質問です。

例えばA1に5が入っている時にB1に=A1と入力すると5が返りますよね?

これをマクロなら

range(“B1")=range("A1")を実行すると出来ると思います。

質問したい事は上記のマクロを実行しないで自動的にB1にA1のものを参照する事はできますか?勿論、B1に=A1などの計算式を入れる事もダメとします。

640 :名無しさん@そうだ選挙にいこう:2020/09/01(火) 18:46:45.36 .net
アホか

641 :名無しさん@そうだ選挙にいこう:2020/09/01(火) 19:03:17.82 .net
>>639
powerquery

642 :名無しさん@そうだ選挙にいこう:2020/09/01(火) 19:30:54 .net
関数もマクロも使いたくないならExcel使う意味よ

643 :名無しさん@そうだ選挙にいこう:2020/09/01(火) 20:24:41.40 .net
外部からリアルタイムで操作させたいと?

644 :牧野 :2020/09/01(火) 20:41:01.84 .net
>>627
すごい力技だけど
https://blog-tips.sekenkodqx.jp/2019/10/09/excel-num-char-extract/

>>639
こういうコードを入れておくとシートの内容が変わるたびに自動的にコピーされる
https://i.imgur.com/kLkOD0L.png

645 :牧野 :2020/09/01(火) 20:44:24.76 .net
コード貼り忘れた

Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Cells(1, 1).Value = Cells(1, 2).Value
Application.EnableEvents = True
End Sub

646 :名無しさん@そうだ選挙にいこう:2020/09/01(火) 20:46:57.86 .net
>>645
逆じゃね?

647 :名無しさん@そうだ選挙にいこう:2020/09/01(火) 21:59:24.47 .net
>>637
2013でも使える。

648 :639:2020/09/01(火) 22:41:56.85 .net
返事をくれた方々ありがとうございました。

649 :名無しさん@そうだ選挙にいこう:2020/09/02(水) 07:48:55.40 .net
お世話になります。
ExcelVBAにて、コードを実行しようとすると
"このプロジェクトのマクロは無効に設定されています…"と表示されます。

ブックを開いたときに、マクロを有効にするかどうかも聞かれていますし
ファイル>オプション>トラストセンター>マクロの設定
を"警告を表示してすべてのマクロを無効にする"か"すべてのマクロを有効にする"
に設定しても症状が治りません。
お判りの方いましたらご助言頂きますようよろしくお願い致します。

650 :名無しさん@そうだ選挙にいこう:2020/09/02(水) 09:21:11.00 .net
>>649
特定のブックだけでなくすべてのマクロが動かない、どのフォルダーに入れてもだめならグループポリシーの可能性

651 :名無しさん@そうだ選挙にいこう:2020/09/02(水) 20:23:33.74 .net
グループポリシーはどこで設定しますか?

652 :名無しさん@そうだ選挙にいこう:2020/09/02(水) 20:40:27.03 .net
すいません、エクセル2019ですが
時間が
0.15、0.3、0.45…
の様に入力されているセルを使って時間計算する方法ってありますかね?

0.15=0:15
0.3=0:30
0.45=0:45
です


試しに
=LEFT(A1,1)&":"&RIGHT(A1,2)
とやって時間文字列に変換してみたのですが
0.15とかだと上手くいきますが、0.3の場合「0:.3」となとなって上手くいきません

それならばと
=LEFT(A1,1)&":"&MID(A1,3,2)
とかにすると、やはり0.3の場合「0:3」となります

TEXT関数やTIMEVALUEなどもいろいろやってみましたがどうも無理っぽい

こういった計算をなるべくシンプルな式で実現する方法ってありますかね?

653 :名無しさん@そうだ選挙にいこう:2020/09/02(水) 21:10:49.17 .net
>>652
SUBSTITUTE( ,".",":")

654 :名無しさん@そうだ選挙にいこう:2020/09/02(水) 21:19:24 .net
>>652
試してないけど
=TIME(INT(A1), INT(MOD(100*A1, 100)), 0)

655 :名無しさん@そうだ選挙にいこう:2020/09/02(水) 21:53:44.16 .net
>>652
Excelは
0.5/24=0:30
に出来る機能があります
なので、(0.5×5/3)/24=0:50となるはず
これの応用でなんとかならないかな?
5/72を全てのセルにかけるようにするとか

656 :名無しさん@そうだ選挙にいこう:2020/09/03(木) 01:16:10.84 .net
>>652
15分刻みだけでなく、もっと中途半端な時間もあるのか
45分までなのか、最大何時間何分まであるのか

これらの条件によって数式を作る手間がちょっと変わってくる

657 :名無しさん@そうだ選挙にいこう:2020/09/03(木) 01:17:06.43 .net
>>653
それだと30分が3分になってしまう

658 :名無しさん@そうだ選挙にいこう:2020/09/03(木) 03:54:42.79 .net
>>652
対応表を作ってindexmatch

659 :名無しさん@そうだ選挙にいこう:2020/09/03(木) 03:59:50.77 .net
15分ごとならchoose(A1/0.15,00:15,00:30,00:45)みたいに並べるとか

660 :652:2020/09/03(木) 17:07:28.55 .net
皆様ありがとうございます

>>653
これだと、0.15とか1.43とかだといいのですが
下記のケースだと
0.3→0:3
1.2→1:2
とかになって上手くいかないです
念の為書式で「.00」を設定してみましたがやはりダメでした

>>655
なるほど、これもありましたね
なので単純に
(A1/24)/(6/10)
とやってみたら
0.3→0:30
になったので一瞬喜んだのですが、よくよく考えると時と分の単位が違うので1.5とかの1時間を越える分だと上手く行きません
一桁目と小数点以下を分離した上で計算すれば出来そうですが、ちょっと複雑になりそうでやめました。すいません

>>654
!!!これバッチリです。文字列を弄ってなんとか出来ないか四苦八苦してましたが、純粋に計算でいけますね。素晴らしい
これで行こうと思います。ありがとうございました

661 :652:2020/09/03(木) 17:10:54.50 .net
>>657-659

実は残業時間なので分刻みでいくらでも有り得るんですよね
いくらでもと言っても10時間残業とかはさすがに無いですが

662 :名無しさん@そうだ選挙にいこう:2020/09/03(木) 20:32:53.03 .net
答えが出てるようなので今更だけど、普通に秒に直すという発想はなかったんかい。

663 :名無しさん@そうだ選挙にいこう:2020/09/04(金) 00:14:11.72 .net
=--TEXT(A1*100,"0"":""00")

664 :名無しさん@そうだ選挙にいこう:2020/09/04(金) 11:49:06.26 .net
【1 OSの種類         .】 Windows
【2 Excelのバージョン   】 Excel for office 365 mso
【3 VBAが使えるか    .】 ・いいえ
【4 VBAでの回答の可否】 否

普段関数をつかわない超初心者です。
エクセル内で、URLの一部を別のタブの数字に変換してリストをつくりたいです。
自分で調べたところ
=hyperlink("http〜"&タブ)
にすると最後を置き換えられることがわかりました。
しかし最後に.htmlをつけるのがどうしても上手くいきません。
ご存じの方がいたら教えて下さい。
検索方法のヒントでも構いません。
よろしくお願い致します。

665 :名無しさん@そうだ選挙にいこう:2020/09/04(金) 12:06:07.01 .net
>>664
ハイパーリンクではないけどsubtitleで置き換える方法で上手くいきました。
より良い方法があったら教えてください。

666 :名無しさん@そうだ選挙にいこう:2020/09/04(金) 12:25:49.29 .net
>>664
正直、質問の意味がよくわからないんだけど、その式の最後にhtmlを付けるだけなら
=HYPERLINK("http〜"&タブ&".html")

タブって何?最後、最後って書いてるとけど、本当の最後は数字なのかhtmlなのかどっち?

667 :名無しさん@そうだ選挙にいこう:2020/09/04(金) 14:15:41.46 .net
htmlです。

668 :名無しさん@そうだ選挙にいこう:2020/09/04(金) 20:39:30.61 .net
だめだ、「http タブ」でググっても意味が分からん。
一体どんな不思議なことをやろうとしているんだ。

それより、Excel for office 365 msoって、
officeとmsoがかぶってはいませんか?
フルで言えば、Excel for office 365 microsoft officeでしょ?

669 :名無しさん@そうだ選挙にいこう:2020/09/04(金) 21:24:51.41 .net
スピルって皆さん使ってますか?

670 :名無しさん@そうだ選挙にいこう:2020/09/04(金) 21:37:27.15 .net
>>664
https://i.imgur.com/CYPLSMd.jpg

671 :名無しさん@そうだ選挙にいこう:2020/09/04(金) 21:39:11.29 .net
URL書きまくったらスパム判定されてアク禁で草

>>669
使ってないよ
エクセル覚えたてなら使ったかもしれない

672 :名無しさん@そうだ選挙にいこう:2020/09/05(土) 00:05:55 .net
vbaをある程度マスターしたら自分で勝手に足りない物は作るから、エクセルの新機能なんてどうでもいい

673 :名無しさん@そうだ選挙にいこう:2020/09/05(土) 00:13:54 .net
ところでここの講師どもはエクセルで何作ってんの

674 :名無しさん@そうだ選挙にいこう:2020/09/05(土) 01:05:13.27 .net
昨今、サイバーセキュリティ()云々で上場企業ではVBA禁止されてきてる
そして何故かPowerPlatformが推奨されてる

675 :名無しさん@そうだ選挙にいこう:2020/09/05(土) 09:04:31.08 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2019
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
1つの列にデータがずらっと並んでいて、そこから重複していないデータだけを別のシートに抽出する方法を教えてください
りんご
りんご
バナナ
みかん
みかん
が並んでいる場合、バナナだけを抽出したいです

676 :名無しさん@そうだ選挙にいこう:2020/09/05(土) 09:16:55.34 .net
えっと…コピペミスなの?

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

excel2013 vbaについて
pdfを別ファイルで何枚も保存するプログラムを作ったのですが、"名前を付けて保存"ダイアログだと、pdf1枚ごとに保存先を聞かれてしまいます。
保存先だけダイアログで決めて、保存名はコード上で指定して、次々にpdfを出力するにはどうすればよいでしょうか。

678 :名無しさん@そうだ選挙にいこう:2020/09/05(土) 11:59:43 .net
pdf保存処理ループの前にフォルダ選択のダイアログを出す

679 :名無しさん@そうだ選挙にいこう:2020/09/05(土) 12:36:48 .net
>>678
できました!ありがとうございます!

680 :名無しさん@そうだ選挙にいこう:2020/09/05(土) 18:49:38.55 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

windows
セルA1にrandbetween関数でランダムな数値を入れ、vba上で k = range("A1").value と格納した場合について質問です。
ActiveSheet.Calculateで再計算すると、セルA1の値は変わりますが、kに格納された数字は変わりません。
もう一度k = range("A1").valueを記述すればよいのですが、実際のコードのこの部分は複雑で、何度も出てくるため、非常に煩雑になります。
ActiveSheet.Calculateしたとき、どうにかkの値も同時に格納し直したいのですが、どうすればよいでしょうか

681 :名無しさん@そうだ選挙にいこう:2020/09/05(土) 19:04:06.29 .net
>>680
考え方がそもそも…
セルの値を使って計算するのではなく、kを変更し、そのkの値で計算してセルにkの値を反映させる
が良い

682 :名無しさん@そうだ選挙にいこう:2020/09/05(土) 19:05:26.34 .net
入力の都度ならプライベート関数使えばよいかと

683 :名無しさん@そうだ選挙にいこう:2020/09/05(土) 19:19:46 .net
>>681
kにはランダムなRGB値が入るようにしてあります。
そのRGB値は、セルA1 B1 C1 それぞれに=randbetween(0,255)を入力し、コード上でrange("A1")+range("B1")*256+range("C1")*256+256を計算して得ています。
これでセルを塗りつぶしていくのですが、隣り合った列(具体的にはもう少し複雑ですが、不要な説明なため省きます。)が似たような色にならないように、kの値を判定にかけてから塗りつぶす というコードにしています。
つまり、RGB値をセルから持ってくるようにしたのは、判定のためとそのほうがコードが簡潔になると思ったからです。
こういうケースではどうでしょうか?

684 :名無しさん@そうだ選挙にいこう:2020/09/05(土) 19:38:19.45 .net
何個セルあるの?それによる

685 :名無しさん@そうだ選挙にいこう:2020/09/05(土) 19:39:35.77 .net
>>684
塗りつぶすセルでしょうか
1万くらいです

686 :名無しさん@そうだ選挙にいこう:2020/09/05(土) 21:02:57 .net
>>683
Property GetでRGB取得してそれを参照すればいい

687 :名無しさん@そうだ選挙にいこう:2020/09/06(日) 09:52:11.94 .net
そんなの何に使うんだよ。
ゲームならBitBltの方が速いんじゃないか?

688 :名無しさん@そうだ選挙にいこう:2020/09/06(日) 10:15:48.91 .net
>>687
答えられない奴の常套句やめい

689 :名無しさん@そうだ選挙にいこう:2020/09/06(日) 11:24:13.08 .net
>>688
用途不明過ぎて答えられないから目的聞いてるんだろうが。

690 :名無しさん@そうだ選挙にいこう:2020/09/06(日) 15:23:53.60 .net
用途は売掛の消し込み?
それともゲーム?

691 :名無しさん@そうだ選挙にいこう:2020/09/06(日) 16:51:45.03 .net
INDIRECTってインディレクトとインダイレクトどっちが正しいの?

692 :名無しさん@そうだ選挙にいこう:2020/09/06(日) 17:53:54.31 .net
インダァレェクトゥ

693 :名無しさん@そうだ選挙にいこう:2020/09/06(日) 17:56:54.74 .net
スピル極めてるやつ居る?

694 :名無しさん@そうだ選挙にいこう:2020/09/06(日) 18:43:51.20 .net
>>690
ランダムで消すのかよw

695 :名無しさん@そうだ選挙にいこう:2020/09/07(月) 00:44:02.48 .net
ランダムな仕事ってのもあるらしいぞ

何ヶ月か前にVBAスレでデータを捏造する方法を聞いてるやつがいた
一定の条件で適当な数字を大量に入力して毎日提出するという謎の仕事があって、乱数を使ったマクロでやる方法を教えてやったら、一瞬で終わるようになったので入力担当者は仕事がなくなってクビになったそうだ

696 :名無しさん@そうだ選挙にいこう:2020/09/07(月) 03:43:57.24 .net
本気にしてたの

697 :名無しさん@そうだ選挙にいこう:2020/09/07(月) 07:39:02.08 .net
CHOOSE関数ってインデックスが整数じゃないとだめですか?
たとえばaというインデックスに対してsdf、bというインデックスに対してvcxを返したいときはIFのネスト使うしかないですか?

698 :名無しさん@そうだ選挙にいこう:2020/09/07(月) 08:44:22.37 .net
>>697
・CODE("a")-96
・HEX2DEC("a")-9

699 :名無しさん@そうだ選挙にいこう:2020/09/07(月) 13:49:04.81 .net
>>698
たとえが悪かったですね
それだとアルファベット1文字ならいいんですが、
やりたいのはインデックスがpinkやpurpleなど単語になっているようなものです

700 :名無しさん@そうだ選挙にいこう:2020/09/07(月) 13:52:18.33 .net
表を作ってvlookupがいいんじゃないの

701 :名無しさん@そうだ選挙にいこう:2020/09/07(月) 14:00:52.72 .net
インデックスは数字じゃないとダメ
キーとインデックスの対応表作ってlookupするか直接lookupするか

702 :名無しさん@そうだ選挙にいこう:2020/09/07(月) 14:01:03.57 .net
matchか

703 :名無しさん@そうだ選挙にいこう:2020/09/07(月) 14:20:56.62 .net
>>699
・MATCH("pink",{"pink","purple"},FALSE)
・=VLOOKUP("pink",{"pink","sdf";"purple","vcx"},2,FALSE)

704 :名無しさん@そうだ選挙にいこう:2020/09/07(月) 14:29:11.96 .net
連想配列みたいなのも、やろうと思えばできるってレベル

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

セルの列に「0」が入力されていたら次の整数(0以外)までいくつ0がはいっているか数えたいのですがうまくできません。

例)
   B   C
   0   2→Bの列に連続して0が2つ
   0   
   5
   0   3→Bの列に連続して0が3つ
   0
   0
   7

706 :名無しさん@そうだ選挙にいこう:2020/09/07(月) 22:54:15.72 .net
うーん…?作業列作っていいならB列にCOUNTIFかIFで整数だと1かえすようにして

C1
=COUNTIF(OFFSET(A1,0,0,MATCH(1,B1:$B$20,0),1),0)

C2以降
=IF(AND(A1=0,OR(A2>0,A2=0)),"",COUNTIF(OFFSET(A2,0,0,MATCH(1,B2:$B20,0),1),0))

駄目だなわいのようなたまにしか使わん程度にはいいの思いつかん

707 :名無しさん@そうだ選挙にいこう:2020/09/08(火) 00:51:47.51 .net
こんな風に
https://i.imgur.com/JEd7iA7.png
N列に何か入力された時に、その右のO列に書いてある数字を足していってその合計をQ2に表示させたい場合
どんな関数を入力すればいいのか教えてください

708 :名無しさん@そうだ選挙にいこう:2020/09/08(火) 01:12:10.02 .net
>>689
用途を聞かないと答えられないなら触れなくていいと思う

709 :名無しさん@そうだ選挙にいこう:2020/09/08(火) 01:14:41.85 .net
>>707
=SUMPRODUCT((N:N<>"")*O:O)

710 :名無しさん@そうだ選挙にいこう:2020/09/08(火) 01:22:36.68 .net
>>707
sumifで検索条件を"<>"にする

711 :名無しさん@そうだ選挙にいこう:2020/09/08(火) 01:39:42.93 .net
>>705
https://i.imgur.com/i4arR8L.png

712 :名無しさん@そうだ選挙にいこう:2020/09/08(火) 06:22:25.97 .net
>>711
解決しました。ありがとうございます。

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

新規でシートを作成する際にセルの幅(列・行)
をデフォルトから任意の幅に設定したいと考えてます。
現在はマクロでやっていますが、この方法だと
シートを作成してからいちいちマクロボタンを押さねばならないので、シートを作成した時点でセル幅を調整済みのものに出来ないでしょうか?
よろしくお願いします!

714 :名無しさん@そうだ選挙にいこう:2020/09/08(火) 12:25:13.38 .net
>>713
シートの新規作成まで全部マクロに入れておけばワンクリックで終わる

715 :名無しさん@そうだ選挙にいこう:2020/09/08(火) 12:36:44.26 .net
>>714
あ、そうか成る程!頭良いですね!
家帰ったら早速やってみます!

716 :名無しさん@そうだ選挙にいこう:2020/09/08(火) 14:28:00.70 .net
地獄の始まりw
無責任なアドバイスだな

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

■やりたいこと
参照セルを使わずにプルダウンメニューから「今日の日付」を選べるようにしたい。

■試してみたこと
(1)名前の定義で名前「今日の日付」、参照範囲「=TEXT(TODAY(),"ggge年m月d日")」を設定
(2)データの入力規則で入力値の種類「リスト」、元の値「=今日の日付」を設定

※しかし、(2)でエラーとなり設定できない。「=INDIRECT("今日の日付")」も試したがダメ。

参照セルを使えば簡単だが、何とか参照セルを使わずに行いたい。
よろしくお願いします。

718 :名無しさん@そうだ選挙にいこう:2020/09/09(水) 02:45:10.45 .net
>>717
win10 excel2010
(2)で何の問題もなく=今日の日付でエラー出ずにできたよ

719 :名無しさん@そうだ選挙にいこう:2020/09/09(水) 20:02:30.30 .net
>>718
ああ、説明が悪くて申し訳ない。
プルダウンで「今日の日付」という文言を表示するのではなく、「○年○月○日」という表示を動的に行いたい。
そのために試したのが、(1)を設定後に(2
)を設定するという手順。

作業セルを作らずに動的な日付をプルダウンメニューで表示する方法はありませんか?

720 :名無しさん@そうだ選挙にいこう:2020/09/09(水) 20:20:04 .net
頑なに計算セルを用意しないとか、プルダウンに拘るとか目的がわからない

721 :名無しさん@そうだ選挙にいこう:2020/09/09(水) 20:30:22 .net
>>713
もう解決しちゃったかな
そのバージョンでどうかはわからないんだけど、
2000のときに新規作成のシート数デフォルト3を1にするときの方法で、
C:\Windows\ShellNewにあるファイルを目的のものに置き換えるという方法があった
そこにファイルがあれば置換、ない場合はレジストリをいじるとか何とかだったと思う
お暇なら試してみて

722 :名無しさん@そうだ選挙にいこう:2020/09/09(水) 21:37:51.32 .net
マクロを使わずにA列の5行からA2に入力された数値の行までの最大値を求めてA1に表示したいです
たとえばA2に123と入力されていたら、A1=MAX(A5:A123)という具合です
このような場合、A1にどのような数式を記述すればいいでしょうか?

723 :名無しさん@そうだ選挙にいこう:2020/09/09(水) 22:08:02.37 .net
>>720
計算セルは美しくないので使いたくない。
プルダウンは選択した日付を固定するため。

※TODAY関数を使っていてもプルダウンで選択した日付は固定される。

724 :名無しさん@そうだ選挙にいこう:2020/09/09(水) 23:06:34.07 .net
>>723
Excelの機能として、[Ctrl]+[;]で今日の日付を入力するのはダメなの?
他の人に入力させるから、というのであれば、操作方法をコメントで明示したら?

725 :名無しさん@そうだ選挙にいこう:2020/09/09(水) 23:31:28.87 .net
>>723
非表示にしておけばいいじゃん

726 :名無しさん@そうだ選挙にいこう:2020/09/09(水) 23:37:26.48 .net
>>723
別シートに計算セル作って普段は非表示にしておけばよいのでは?
どうしてもコントロールに拘るのであれば、datepicker使った方が早くて応用ききそう

727 :名無しさん@そうだ選挙にいこう:2020/09/09(水) 23:51:55.20 .net
>>722
max(indirect("a5:a"&a2))

728 :名無しさん@そうだ選挙にいこう:2020/09/10(木) 06:57:13.48 .net
>>727
まさにこれを求めていました
ありがとうございました

729 :名無しさん@そうだ選挙にいこう:2020/09/10(木) 08:04:06.84 .net
MATCH関数を使うと指定範囲内のどこに目的の値が存在するかがわかりますが、
値が重複している場合は最初に引っかかったものが返ってきます
これを最後に引っかかったものにすることはできないでしょうか?
ソートやマクロは使わないで、セルに数式を入力するだけですませたいです

730 :名無しさん@そうだ選挙にいこう:2020/09/10(木) 08:39:09.20 .net
>>729
XMATCH関数で出来るよ

731 :名無しさん@そうだ選挙にいこう:2020/09/10(木) 09:23:19.34 .net
>>724
キーボード入力は行わずマウス操作のみで完結したいです。

>>755
>>726
やっぱりセルの非表示しかないかな。

732 :名無しさん@そうだ選挙にいこう:2020/09/10(木) 10:11:26.57 .net
Excelの万年カレンダーを作りたいのですが思うようにいかず困ってます
色々なサイトをほぼ丸パクリにして月曜日スタートにして2020年11月を指定すると11月2日月曜日がスタートになり11月1日が消えてしまいます。

どのような関数を入れる事で解決出来るのでしょうか

733 :名無しさん@そうだ選挙にいこう:2020/09/10(木) 10:20:17.63 .net
丸パクリしたサイトでは11月1日のない万年カレンダーを紹介しているのかな

734 :名無しさん@そうだ選挙にいこう:2020/09/10(木) 10:31:27.98 .net
>>732
多分、WEEKDAYを使ってると思うけど、足すんじゃなくて引く

でも、万年カレンダーなんだから、曜日固定じゃないほうが、らしいよ

735 :名無しさん@そうだ選挙にいこう:2020/09/10(木) 14:56:37.41 .net
>>732
横方向に月〜日の曜日の列、1行が1週間分の表となるカレンダーだとすると、以下のようにしてみてください。
A1セルには西暦年を、B1セルには月を指定するものとします。
C1セルには計算式 =WEEKDAY(DATE(A1,B1,1),3) を入れておきます。
A2〜G2セルは曜日を表示するものとします。
A3〜G3セルは第1日曜を含む週(前月の最終週あり)になります。
G3セルには計算式 =DATE(A1,B1,7)-C1 を入れると、あら不思議!
その月の最初の日曜となる日付が表示されました。
>>734さんが「足すんじゃなくて引く」というのは -C1 のことでしょう。

736 :名無しさん@そうだ選挙にいこう:2020/09/10(木) 18:12:56.65 .net
Sub シートの名前を付け直す()
Dim i, k, h
Dim Targets As New Collection, buf As String
Dim ws As Worksheets

For i = 3 To Worksheets.Count
Targets.Add Worksheets(i)
Next

k = 1
&#11088;For Each ws In Targets
If k < 10 Then
Targets.Name = "0" & k
End If
Next

End Sub


以上のコードで&#11088;のとこで型が違うというエラーが出ます。
ws と Targetsの型が違うという意味だと思うのですが、どうすればよいのでしょうか

737 :名無しさん@そうだ選挙にいこう:2020/09/10(木) 18:13:26.05 .net
文字化けしました
&#11088; = ☆ です

738 :名無しさん@そうだ選挙にいこう:2020/09/10(木) 18:23:09.96 .net
>>736
dimws as worksheet

for each ws in worksheets
ws.name.......
next
じゃないと動かなくないか

739 :名無しさん@そうだ選挙にいこう:2020/09/10(木) 18:28:45.44 .net
>>738
それだと全てのシートが対象になってしまいますよね?
Targetsコレクションに指定したワークシートをまとめて、そのコレクションに対してFor eachをかける という動作をしたかったのですが...

740 :名無しさん@そうだ選挙にいこう:2020/09/10(木) 18:31:19.98 .net
すみませんtarget.nameはおかしいですね
その他修正してうまくいきました
ありがとうございました。

741 :名無しさん@そうだ選挙にいこう:2020/09/11(金) 17:13:48.22 .net
2行1列の結合セルがずらーっと縦に並んでて値が入力されていたとして、それを全選択してコピーして、下に一つずらして貼り付けるとセルの結合が解除されるのですが... 何故でしょう

コピー側と貼り付け先のセルの状態(結合のしかた)が全く同じなのに解除されます

742 :名無しさん@そうだ選挙にいこう:2020/09/11(金) 17:20:23.61 .net
>>741
コピー元範囲と貼付け先範囲が被るから

743 :名無しさん@そうだ選挙にいこう:2020/09/11(金) 17:52:08.70 .net
>>742
被るからってなんで解除されるんですか
そのままはっつければいいのに

744 :名無しさん@そうだ選挙にいこう:2020/09/11(金) 18:53:44.88 .net
セルの結合とかやる馬鹿まだいるんだ

745 :名無しさん@そうだ選挙にいこう:2020/09/11(金) 19:36:50.62 .net
セル結合は表計算ソフトとしてありえない挙動なんだからする方が悪い

746 :名無しさん@そうだ選挙にいこう:2020/09/11(金) 19:47:28.29 .net
セル結合がdisれる様になってようやくエクセル使いとして一人前

747 :名無しさん@そうだ選挙にいこう:2020/09/12(土) 09:11:47.33 .net
Accesじゃないから結合したって良いじゃない

748 :名無しさん@そうだ選挙にいこう:2020/09/12(土) 09:24:07.38 .net
少なくとも計算するシートで結合はありえない

749 :名無しさん@そうだ選挙にいこう:2020/09/12(土) 11:01:31.46 .net
ありえない挙動するなら機能として元々付けなければいいのに

750 :名無しさん@そうだ選挙にいこう:2020/09/12(土) 11:43:37.49 .net
A列とB列に値が入っていて、A*Bの15個ごとの移動平均を求めたいです。
C=A*BとしてD1にAVERAGE(C1:C15)を入れてD列にコピーすればいいのですが、
不要なC列を使わずにAVERAGE(A1*B1:A15*B15)みたいな感じで書く方法はないでしょうか?
ちなみにAVERAGE(A1*B1:A15*B15)は#VALUE!となります。

751 :名無しさん@そうだ選挙にいこう:2020/09/12(土) 12:16:04.23 .net
バージョンもvba可不可もわからんしsumproductでもつかえば?

752 :名無しさん@そうだ選挙にいこう:2020/09/12(土) 12:25:45.66 .net
>>750
=SUMPRODUCT(A1:A15*B1:B15)/15

753 :名無しさん@そうだ選挙にいこう:2020/09/12(土) 13:09:34.56 .net
>>751-752
ありがとうございます
これでいけます

754 :名無しさん@そうだ選挙にいこう:2020/09/12(土) 14:31:29.58 .net
お文具さんって知ってますか??

755 :名無しさん@そうだ選挙にいこう:2020/09/13(日) 12:23:15.45 .net
他人が作ったエクセルを使わなきゃならないことがあるからねぇ...
セル結合を心から受け入れてこそ一人前なんだよねぇ...

756 :名無しさん@そうだ選挙にいこう:2020/09/13(日) 14:12:43.47 .net
>>755
セル結合した上に、罫線は図形で入ってる作品とかあるからな
紙で配布する資料とはいえ、目玉が飛び出る思いがしたよ

757 :名無しさん@そうだ選挙にいこう:2020/09/13(日) 14:21:36.78 .net
まず結合を解除します

758 :名無しさん@そうだ選挙にいこう:2020/09/13(日) 15:01:15.34 .net
選択範囲内に結合箇所があるかないかわかる関数があれば良いのかな。

759 :名無しさん@そうだ選挙にいこう:2020/09/13(日) 15:42:43.27 .net
CELL関数とかでわかんないのかなと思ったけどわかんないみたいね

760 :名無しさん@そうだ選挙にいこう:2020/09/13(日) 15:58:21.19 .net
MergeCells使えばいいんじゃない?
総当りで

761 :名無しさん@そうだ選挙にいこう:2020/09/13(日) 19:23:35.59 .net
総当りいらんでしょ
普通に範囲のMergeCellsプロパティ見たらいいだけ
https://docs.microsoft.com/ja-jp/office/vba/api/excel.range.mergecells

762 :牧野 :2020/09/13(日) 19:34:20.78 .net
範囲選択するとリボンの表示が変わるのでそれをアテにするのは?
https://i.imgur.com/mB7w9Ce.png

763 :名無しさん@そうだ選挙にいこう:2020/09/13(日) 23:01:43.03 .net
>>762
ほー、これは簡単だね。
明日会社で試してみる。

764 :名無しさん@そうだ選挙にいこう:2020/09/14(月) 10:19:24.53 .net
>>762
これ常識かと思ってた

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

A1にA2〜A101まで入力した数値のAverageを表示し、A2〜A101に数値を入力するようにしています
数値の入力数が20以下の場合に(入力数が少ない場合に)A1のセルを黄色にするにはどうしたら良いのでしょうか?

766 :名無しさん@そうだ選挙にいこう:2020/09/15(火) 11:06:34.35 .net
IF
COUNT

767 :名無しさん@そうだ選挙にいこう:2020/09/15(火) 12:00:55.73 .net
>>765
条件付き書式で=COUNT(A2:A101)<=20

768 :名無しさん@そうだ選挙にいこう:2020/09/15(火) 12:31:21.57 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016

ちょっと漠然としつつ、でも(多分)あるあるな質問なのですが、
エクセルのファイルを開いて、なんの入力や変更も行わずに閉じても
「保存しますか?」とダイアログでいちいち確認が入ってしまうファイルがありますが、
ダイアログがでる理由って何が考えられますか?

できるのなら対処もしたいです。

769 :名無しさん@そうだ選挙にいこう:2020/09/15(火) 12:50:00.15 .net
>>768
indirect関数などの「揮発性関数」を使ってませんか?

770 :名無しさん@そうだ選挙にいこう:2020/09/15(火) 12:56:28.96 .net
todayとかがよくあるね

771 :名無しさん@そうだ選挙にいこう:2020/09/15(火) 13:08:19.76 .net
>>768
xlsxでなく、xlsファイルを互換モードで開いている時にもその現象は起こる

772 :名無しさん@そうだ選挙にいこう:2020/09/15(火) 19:23:58.50 .net
ExcelってNumbersと異なってドロップダウンリストが▼クリックしないと表示されないんだよな。
Numbersは選択するだけで表示されるので超楽。

773 :名無しさん@そうだ選挙にいこう:2020/09/15(火) 19:35:41.01 .net
>>772
選択→セル選択

774 :名無しさん@そうだ選挙にいこう:2020/09/15(火) 19:38:40.32 .net
実際にはAlte+↓で表示されるけど面倒くさいし、なぜワンアクション必要とする仕様にする必要が無いよね。

775 :牧野 :2020/09/15(火) 20:32:36.24 .net
cells.Validation()で設定されたかどうか判定
Worksheet_SelectionChangeでリストを開くってのを作ろうと思ったけどcells.Validationの判定が分からなかった

776 :名無しさん@そうだ選挙にいこう:2020/09/15(火) 21:29:20.77 .net
Excel365ですがExcel2010の時とROW関数の仕様変わりました?

Excel2010
=ROW(A1:A10)
だとA1からA10までの最終行のセル番が出ましたが

Excel365
=ROW(A1:A10)
だとA1からA10までのセル番が全てスピルで出てきます

まぁ考えてみれば当然ですがね

777 :名無しさん@そうだ選挙にいこう:2020/09/15(火) 21:35:53.93 .net
>>776ですが追記

=ROW(A:A)

Excel2010だとA列のデータが入っている最終行が出る

Excel365だとA列全体なのでスピルエラーが出る

という事もありました

778 :牧野 :2020/09/15(火) 21:49:43.61 .net
>>776
スピルの実装により、スピルエラーはちょくちょく出るようになってしまった
使いこなせていないのが悪いんだが、タイピングミスでスピルになるのは少しキョドる

779 :名無しさん@そうだ選挙にいこう:2020/09/15(火) 22:00:07.08 .net
>>778
古いExcelで作った式が365で開くとスピって式の頭に@が出るからちょっとドキッとするだけでした

なんか心配になりますねこの機能
大丈夫なんだろうけど

780 :名無しさん@そうだ選挙にいこう:2020/09/16(水) 00:36:50.45 .net
ざっくりとした質問ですが、ここでの質問に答えられるくらいの知識と応用力はどうやったら身につくのでしょうか?
Excel ○○ ○○
といった感じで都度ネットで検索するか、ここで質問するかで対処していますが・・・
Excel関連の本を読み尽くすのが無難でしょうか?

781 :名無しさん@そうだ選挙にいこう:2020/09/16(水) 00:59:20.12 .net
>>780
トライアンドエラー
困ったら調べるの繰り返しでいいと思うよ
そのうち検索方法もわかってくるだろうし

782 :名無しさん@そうだ選挙にいこう:2020/09/16(水) 01:00:05.29 .net
エクセルの先生になりたいの?w

783 :名無しさん@そうだ選挙にいこう:2020/09/16(水) 20:49:01.72 .net
冴子先生

784 :名無しさん@そうだ選挙にいこう:2020/09/16(水) 20:52:46.41 .net
>>780
そんなこと言ってる時点で使用頻度そこまで高くないのが分かる
だから本なんて買う必要ない
読んだそばから忘れてく

785 :名無しさん@そうだ選挙にいこう:2020/09/16(水) 22:03:17.54 .net
Excelマスターのみなさん教えてください。

A1に月末日が入力されています。

B1にA1の翌月20日を返したいです。

しかし、20日が土日祝日なら前の日付を返したいです。

20日が土曜日なら19日、日曜日なら18日といった具合です、

よろしくお願いします。

786 :名無しさん@そうだ選挙にいこう:2020/09/16(水) 22:41:46.37 .net
>>785
Month関数を使って翌月を調べる(12月用の分岐あるいはMod12で翌月を求める)
のと、
Weekday関数を使って曜日判定をする

これでできるからあとは自分で考えて

787 :名無しさん@そうだ選挙にいこう:2020/09/16(水) 22:48:07.84 .net
>>786
すまん12月の判定の場合は翌年1月になるからMonthだけじゃだめだわ
12月になったら翌年になるようYear関数使ってくれ

788 :名無しさん@そうだ選挙にいこう:2020/09/16(水) 22:59:39.66 .net
曜日は分かっても祝日は無理なんじゃないか

789 :名無しさん@そうだ選挙にいこう:2020/09/16(水) 22:59:56.59 .net
EOMONTH 
祝日一覧
workday
でできるかな

790 :名無しさん@そうだ選挙にいこう:2020/09/17(木) 03:57:24.13 .net
月末日は予めわかっているんだからedateで20日後算出、ifとweekday組み合わせて土なら-1、日なら-2で通常月は対応できる。
18-20日が祝日になる可能性があるのは現状春分、海、敬老の3つなのでそのカレンダーを作っておく。仕組み上、それらの振替休日は該当しない。
あとはカレンダーにmatchさせて引いていけばよいけど、関数だと長ったらしいのでVBAをおすすめする。

ここまで書いててあれだけど、最初から請求締め日のカレンダー作っておいた方が早い気がしてきた

791 :名無しさん@そうだ選挙にいこう:2020/09/17(木) 04:19:24.07 .net
春分が鬼門だな
こいつだけは自動計算できないから、結局は手作業で締め日のテーブルを用意するしかないのでは

792 :名無しさん@そうだ選挙にいこう:2020/09/17(木) 07:17:21.11 .net
手作業でやったほうが楽なパターン

793 :名無しさん@そうだ選挙にいこう:2020/09/17(木) 07:29:31.84 .net
祝祭日リスト用意してworkdayで次月の1日の1営業日前かな

794 :牧野 :2020/09/17(木) 20:11:02.75 .net
春分の日や秋分の日って決まってるようなもんなんだからそれで決め打ちでもいいと思うけどね
https://ja.wikipedia.org/wiki/%E6%98%A5%E5%88%86%E3%81%AE%E6%97%A5

祝日の追加はどうしようもないから、毎年12月頃に確認するしかない

795 :名無しさん@そうだ選挙にいこう:2020/09/17(木) 20:26:03.50 .net
祝日はリストを用意するとして、
「20日が土日または祝日なら19日、19が土日(略)なら18、18が、、、」というのをどうするか。
最初に思いつくのはif関数だけど、どこまでネストするのか。
vba使わないで他に何か良い方法あれば私も知りたい。

796 :名無しさん@そうだ選挙にいこう:2020/09/17(木) 21:15:43.72 .net
>>795
=workday(21日,-1,祝日)
でいいやん。祝日は祝日一覧作っとく。
21日は例えば=eomonth(○,0)+21
○のところは前月の日付

797 :名無しさん@そうだ選挙にいこう:2020/09/18(金) 12:16:40.31 .net
20日からさかのぼる話なら20日が月曜祝日で17日金曜日を求めるのが一番めんどくさいケースでしょ
17日金曜日が祝日になることはないからそれ以上面倒なケースはない
20日でなく任意の日となると5月6日を判断するケースが一番めんどくさい

798 :名無しさん@そうだ選挙にいこう:2020/09/18(金) 13:56:45.57 .net
20日を月曜振替休日にすると、めんどくささがもう一段階上がるぞ

799 :名無しさん@そうだ選挙にいこう:2020/09/18(金) 14:04:41.58 .net
一覧表を手作業で作った方が早い
手抜きの計算式で20年分ぐらい一気に作っといて、カレンダーを見ながら手動で数カ所修正するだけ

800 :名無しさん@そうだ選挙にいこう:2020/09/18(金) 15:00:49.31 .net
効率の話を勝手にしないでください

801 :名無しさん@そうだ選挙にいこう:2020/09/18(金) 17:27:01.03 .net
>>798
存在しない
あったとしても19日日曜が祝日なだけで何も変わらない

802 :785:2020/09/18(金) 19:15:36.12 .net
レスしてくれた人ありがとうございます。
なんか関数でやるのはかなり煩雑になりそうですね。
VBAはあまり分かりませんが、VBAでやってみたいと思います。

803 :名無しさん@そうだ選挙にいこう:2020/09/18(金) 19:16:39.76 .net
>>797
20日は、21日マイナス1日だろ?
このスレ、初心者も回答書いたり、理解出来ない愚痴書くスレだったとは
あと
ネットで検索すりゃ祝日一覧なんて簡単に拾えるのに

804 :名無しさん@そうだ選挙にいこう:2020/09/18(金) 20:24:51.37 .net
>>802
vbaでも同じだぞ…
結局ロジックを考えるのがすごくめんどくさいことは変わらん

805 :名無しさん@そうだ選挙にいこう:2020/09/18(金) 20:38:19.44 .net
>>802
793や796の言ってるとおり、WORKDAY使えばすごく単純にできるよ
=WORKDAY(A1+21, -1 , 休日リスト)
で大丈夫

休日リストを自動化させるのが、いろいろと落とし穴があって難しいところがあるけど
祝日候補を作業セルに入れて、毎年手作業で書き換えれば難しくないよ

806 :名無しさん@そうだ選挙にいこう:2020/09/18(金) 20:39:11.19 .net
祝日はめんどくさいなぁ
春分や秋分のように正式に決まるのが前年とかだったり、法改正で新しい祝日ができたりもするから、数年先までそのまま使える祝日一覧ってのはなかなか出来ない
結局毎年修正

807 :名無しさん@そうだ選挙にいこう:2020/09/18(金) 20:39:50.89 .net
vbaなら条件に一致する場合(土日祝日の場合)はマイナス1として、do loop untilかwhileで書けば、ネストする回数考えなくてよいし割と分かりやすい。
関数でやるとifを入れ子にして4回使えばできそう。どちらにしても祝日一覧を作るのは前提として。

21日は関係ないと思うんだけど、どういうこと?私の理解不足?

808 :名無しさん@そうだ選挙にいこう:2020/09/18(金) 20:42:47.26 .net
なるほど、workday使って21から引くわけね。わかりました。weekdayと空目した。

809 :785:2020/09/18(金) 20:50:43.40 .net
まさかこんなに話題になるとは思いませんでした。。。

VBAは苦手なので関数で対応したいと思います。ありがとうございました。

810 :名無しさん@そうだ選挙にいこう:2020/09/18(金) 21:22:35.23 .net
祝日リストについては、それを作れるアドインを
置いてくれてるwebページとかあるし
大した手間いらない

811 :名無しさん@そうだ選挙にいこう:2020/09/18(金) 22:28:11.09 .net
ネットにアクセスできれば、どっかからカレンダーを落としてくるのが簡単
そのサイトが永続かどうかって問題はあるけど

政府がデータベースを公開してくれるといいんだけど
デジタル省とか作るんなら、そういうデータこそ国が固定されたURLとフォーマットで提供してくれないかなあ

812 :名無しさん@そうだ選挙にいこう:2020/09/19(土) 07:35:41.74 .net
デジタル省の本当の目的はマイナンバーカードを全国民に持たせることだからな
カード利権に金を流せればそれ以上は興味ないでしょ
カード更新のたびに国民が金払うとかアホか

813 :名無しさん@そうだ選挙にいこう:2020/09/19(土) 07:36:58.43 .net
>>803
おまえの意見が採用されなくて残念だったなwww

814 :名無しさん@そうだ選挙にいこう:2020/09/19(土) 08:00:38.88 .net
たとえ効率の良い解決策があったとしても、実際使う人が理解できなければ無意味なわけで、
さんざんWEEKDAY連呼した挙句返ってきた答えが「なんか関数でやるのはかなり煩雑になりそうですね。」
そして捨て台詞「このスレ、初心者も回答書いたり、理解出来ない愚痴書くスレだったとは」
相手のレベルに合わせて教えてあげる能力のない人がマウント取りたいだけ
滑稽だな

815 :名無しさん@そうだ選挙にいこう:2020/09/19(土) 08:58:23.58 .net
>>813
いろんな人が居るから仕方ないな

816 :名無しさん@そうだ選挙にいこう:2020/09/19(土) 09:02:03.79 .net
セルに入っている文字列から特定の文字を抜き出す関数あったら教えて。

例えば、
特定の文字→あ
文字列→あしかのあかちゃん
抜き出した結果→ああ・もしくは2

特定の文字→う
文字列→うちゅうのうみでうんどうかい
抜き出した結果→ううううう・もしくは5

817 :名無しさん@そうだ選挙にいこう:2020/09/19(土) 09:02:47.78 .net
余裕じゃんw

818 :名無しさん@そうだ選挙にいこう:2020/09/19(土) 09:08:16.57 .net
セルの個数は出るんだけど、
セルの中に何個あるかはよくわからんの。

819 :名無しさん@そうだ選挙にいこう:2020/09/19(土) 10:03:01.01 .net
特定の文字→い
文字列→いちごばたけのいちねんせい
抜き出した結果→いいい・もしくは3
ってこと?

820 :名無しさん@そうだ選挙にいこう:2020/09/19(土) 10:11:14.08 .net
特定の文字→A1
文字列→A2
なら
抜き出した結果@→A3=REPT(A1,A4)
抜き出した結果A→A4=LEN(A2)-LEN(SUBSTITUTE(A2,A1,""))

821 :名無しさん@そうだ選挙にいこう:2020/09/19(土) 10:42:30.02 .net
substitudeで置き換えた結果と長さ比べればわかるんじゃないの

822 :名無しさん@そうだ選挙にいこう:2020/09/19(土) 10:46:31.28 .net
前に書いてあることを読んで読んだことを忘れてまるで自分が思いついたかのように話す人

823 :名無しさん@そうだ選挙にいこう:2020/09/19(土) 10:52:01.73 .net
嫌いじゃない

824 :名無しさん@そうだ選挙にいこう:2020/09/19(土) 11:53:22.67 .net
どういう状況で使うんだそれ…。

825 :名無しさん@そうだ選挙にいこう:2020/09/19(土) 14:22:14.15 .net
>>819
(  ̄ー ̄)ニヤリ

>>820>>821
家帰ったらやってみるありがとう

826 :名無しさん@そうだ選挙にいこう:2020/09/19(土) 14:57:59.40 .net
>>820>>821
でキタ━(゚∀゚)━!
お兄さんありがとうございました!

827 :牧野 :2020/09/19(土) 22:15:07.42 .net
数式を入力したあと、数式バーで入力状態にすると使用セルがハイライトされますが、
このハイライトってドラッグで移動できるのはご存知でしょうか

また、この操作って名前ありますか?
https://i.imgur.com/ywrFtwG.png

828 :名無しさん@そうだ選挙にいこう:2020/09/20(日) 01:52:50.64 .net
知ってるが名前までは知らない。
勝手につけちゃえば?
ナイスセルとか。

829 :名無しさん@そうだ選挙にいこう:2020/09/20(日) 01:56:35.93 .net
ああ香具師セルでいいや。
香具師なんて今時誰も使ってないから空いてる。

830 :名無しさん@そうだ選挙にいこう:2020/09/20(日) 02:20:19.59 .net
ピボットテーブルについて質問です
入出庫とカレンダーのモデルデータを参照させています。列に日付、行に商品コードを設定しており、表示させる値をその日時点の在庫数にしたいです。
メジャーでsum([入庫])-sum([出庫])を設定すると当日のみの在庫となり、入庫のない日はマイナスになります。
タイムラインを使わず日ごとの累計値にするにはどのように記述すればよいでしょうか?

831 :名無しさん@そうだ選挙にいこう:2020/09/20(日) 02:41:33.84 .net
パワーピボットなら簡単

832 :名無しさん@そうだ選挙にいこう:2020/09/20(日) 07:17:32.25 .net
>>827
うごかセル?

833 :名無しさん@そうだ選挙にいこう:2020/09/20(日) 08:31:01.99 .net
>>832
小林製薬かよ

834 :牧野 :2020/09/20(日) 10:48:19.50 .net
>>829>>832
有名でしたか、ありがとうございました

835 :名無しさん@そうだ選挙にいこう:2020/09/23(水) 21:08:22.56 .net
すみませんが、Excel はちょっと、、、
Excel を使わない方法はないでしょうか。

836 :名無しさん@そうだ選挙にいこう:2020/09/23(水) 21:18:38.45 .net
>>835
あんた誰?

837 :名無しさん@そうだ選挙にいこう:2020/09/23(水) 22:10:22.90 .net
Excel以外だとJ-Excelくらいかな。
使ったことないからわからんけど。

838 :名無しさん@そうだ選挙にいこう:2020/09/23(水) 23:32:29.87 .net
>>835
手計算してたんだよ昔は!

839 :名無しさん@そうだ選挙にいこう:2020/09/24(木) 00:59:44.54 .net
方眼紙とモノサシ、エンピツと電卓があればエクセルなんていらないさ

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


商品リストシートに商品コード、商品名を入力しています。

データシートのAセルに商品コードを入力するとBセルに商品名が、Bセルに商品名を入力するとAセルに商品コードが表示されるようにしたいのですが、循環関数になってしまいます。


再計算せずに大人しくしててくれるか、ドロップダウンリストみたいに空いてるセルを簡単に補完したいのですが方法がありますでしょうか?

よろしくお願いします。

841 :名無しさん@そうだ選挙にいこう:2020/09/24(木) 11:16:59.24 .net
あります

842 :名無しさん@そうだ選挙にいこう:2020/09/24(木) 12:28:28.67 .net
お文具さん

843 :名無しさん@そうだ選挙にいこう:2020/09/24(木) 14:47:24.36 .net
VBAに関する質問です
専門職ではないので、もし現場で表記するなら…という意見を
お聞かせください。

If A1 = "〇" Then
 If ....
ElseIf Not A1 = "〇" Then

のようにIFの分岐は否定した文も書いてあげる方が親切なのでしょうか?
それともElseのみでいいのでしょうか?

844 :名無しさん@そうだ選挙にいこう:2020/09/24(木) 15:02:55.31 .net
書く意味が無い

845 :名無しさん@そうだ選挙にいこう:2020/09/24(木) 15:14:06.98 .net
>>843
Elseのみでいい
可読性を意識するのはいいことだと思うので、ガード節というワードを検索してみるといいかも

846 :名無しさん@そうだ選挙にいこう:2020/09/24(木) 15:22:59.20 .net
式の内容によっては1回目と2回目の評価で結果が変わる可能性もあるので、書かない方がいい

847 :名無しさん@そうだ選挙にいこう:2020/09/24(木) 15:30:01.08 .net
書くとデバッグしやすいけど

848 :名無しさん@そうだ選挙にいこう:2020/09/24(木) 15:39:44.24 .net
しやすくねぇよ

849 :名無しさん@そうだ選挙にいこう:2020/09/24(木) 16:28:04.00 .net
>>845 - >>846
ご意見ありがとうございました。

850 :名無しさん@そうだ選挙にいこう:2020/09/24(木) 17:54:12.48 .net
>>840
A,C列にD,B列を参照する式を入力、左揃、セル幅を極小(0はNG)にして、
B,D列にコードか商品名を入力させるようにする

851 :名無しさん@そうだ選挙にいこう:2020/09/24(木) 19:25:46.48 .net
>>850
ありがとうございます!やってみます!

852 :名無しさん@そうだ選挙にいこう:2020/09/24(木) 22:41:50.20 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

お願いします。

フォームにあるテキストボックスのIMEModeを半角カタカナにしているのですが、一回そのテキストボックスに何かを入力した後は
ずっと半角カタカナモードが固定されてしまいます。
入力規則が設定されているセルを選択した場合はひらがな等になるのですが、そのセルを離れて、入力規則が設定されていない
別のセルに移動したらまた半角カタカナに戻ってしまいます。

半角カタカナ設定のテキストボックスは、抽出文字列を指定するためのものなので、入力後に「これで抽出」というコマンドボタンを
押すのですが、そのボタンクリックイベントでIMEModeの変更ができないものなのかと調べましたが無理なようです。

テキストボックスでのIMEModeの影響範囲がでかすぎます。
何か対策はないでしょうか?

853 :名無しさん@そうだ選挙にいこう:2020/09/24(木) 23:08:37.13 .net
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13113341038
この辺のコードを試してみたらいかがでしょうか

854 :名無しさん@そうだ選挙にいこう:2020/09/25(金) 00:11:44.43 .net
カスは黙ってろ

855 :名無しさん@そうだ選挙にいこう:2020/09/25(金) 11:42:24.05 .net
それ動かないじゃん

856 :名無しさん@そうだ選挙にいこう:2020/09/25(金) 12:56:27.59 .net
お文具さん

857 :名無しさん@そうだ選挙にいこう:2020/09/25(金) 19:05:03.55 .net
Excelファイルを開いた際に最初に表示する方法をご存知の方はいますか?
office365にアップロードするファイルのため、マクロは使えないのですが可能なのでしょうか。

858 :名無しさん@そうだ選挙にいこう:2020/09/25(金) 19:06:46.53 .net
857の書き込みですが、最初に表示する「シート」です。失礼しました。

859 :名無しさん@そうだ選挙にいこう:2020/09/25(金) 19:26:49.41 .net
>>858
最初に開かれるシートは何かって話にしか見えないんだけど
最後に保存された時にアクティブだった範囲の属するシートが開かれる
でいい?

860 :名無しさん@そうだ選挙にいこう:2020/09/25(金) 19:30:05.38 .net
知りたいのは毎回sheet1を開く方法なんじゃないかな

861 :名無しさん@そうだ選挙にいこう:2020/09/25(金) 19:34:38.72 .net
>>860
毎回sheet1を表示して保存したらいいんじゃね?

862 :名無しさん@そうだ選挙にいこう:2020/09/25(金) 19:50:23.98 .net
返答ありがとうございます。
分かりにくい書き込みで申し訳ありません。

おっしゃる通り、ファイルを開く度にシート1が表示される方法です。
office365で不特定多数が編集するため、できれば自動で表示できる方法はないかと模索しております。

863 :名無しさん@そうだ選挙にいこう:2020/09/25(金) 19:54:39.41 .net
フォントサイズ72で、シート1以外を表示した状態で保存したら減給します、とか。

864 :名無しさん@そうだ選挙にいこう:2020/09/25(金) 20:01:40.93 .net
新しいOffice Scriptsって奴なら出来るんじゃね
使ったことないのでしらんけど

865 :名無しさん@そうだ選挙にいこう:2020/09/25(金) 20:24:33.78 .net
>>863
なかなかユーモアがあって面白いですね(笑)

office365でもマクロが使えれば簡単なんですがね〜。

866 :名無しさん@そうだ選挙にいこう:2020/09/25(金) 20:25:24.43 .net
>>864
情報ありがとうございます。
聞いたことのないスクリプトですが調べてみます。

867 :名無しさん@そうだ選挙にいこう:2020/09/25(金) 20:29:09.39 .net
>>866
今年でたばかりのやつだし
アクティベートしないと使えないらしい

868 :名無しさん@そうだ選挙にいこう:2020/09/25(金) 20:35:10.96 .net
>>867
まだ出たばかりなんですね。
うちの社内で使えるようになるのはまだ先かもしれません。

ともあれ有益な情報ありがとうございました。

869 :名無しさん@そうだ選挙にいこう:2020/09/25(金) 21:30:42.56 .net
そもそもフォームて、効率が上がるかね?

870 :名無しさん@そうだ選挙にいこう:2020/09/25(金) 22:30:43.64 .net
>>868
そもそもマクロも使えない環境でOffice Scriptsとやらが使えるようになるのかなぁ…

871 :名無しさん@そうだ選挙にいこう:2020/09/25(金) 22:56:32.32 .net
>>865
365だとマクロ使えないってのが意味不明なんだけど

872 :名無しさん@そうだ選挙にいこう:2020/09/25(金) 23:28:35.90 .net
>>871
誤解を与えるような表現をしてしまってすみません。

うちの社内の環境だと、Excelファイルをパソコンからシェアポイントにアップロードして、それを各社員に配布されたipadで立ち上げて適宜編集しているというイメージです。
ipadでExcelファイルを立ち上げてもマクロが機能しないのです。

なかなか特殊な環境だと自負しております。

873 :名無しさん@そうだ選挙にいこう:2020/09/25(金) 23:43:12.98 .net
シート1が必ず表示されるようにしたいんだよね?
できる

874 :名無しさん@そうだ選挙にいこう:2020/09/26(土) 01:26:07.64 .net
>>872
iPadじゃ試したことないけど、sharepoint同期させてデスクトップアプリで開いたら使えない?

875 :名無しさん@そうだ選挙にいこう:2020/09/26(土) 09:31:11.37 .net
>>874
パソコン上でデスクトップアプリで開く分にはマクロも使えますね。

ただ基本的に各社員はipadしか配布されておらず、同期してExcel for ipadで開いてもやはりマクロが機能しないですね。

876 :名無しさん@そうだ選挙にいこう:2020/09/26(土) 13:18:29.04 .net
シートの数を1つにするといいんじゃない?

877 :名無しさん@そうだ選挙にいこう:2020/09/26(土) 15:05:34.64 .net
それだと他のことができなくなりますからダメですね。

878 :名無しさん@そうだ選挙にいこう:2020/09/26(土) 16:10:37.84 .net
他力本願すぎで草

879 :名無しさん@そうだ選挙にいこう:2020/09/26(土) 16:24:55.21 .net
ここの皆さんは、大したことないんですね
口だけ達者ですが、弊社にためになんの解決策も提示いただけないとは。

こちとら遊びじゃないんですが、ビジネスで必要なんですよ。

880 :名無しさん@そうだ選挙にいこう:2020/09/26(土) 16:35:06.67 .net
遊んでないで仕事しなさい

881 :名無しさん@そうだ選挙にいこう:2020/09/26(土) 17:59:13.51 .net
Twitterとかできいたらいいよ。

882 :名無しさん@そうだ選挙にいこう:2020/09/26(土) 18:10:16.93 .net
無償の掲示板でビジネス案件聞いてんじゃねえよw

883 :名無しさん@そうだ選挙にいこう:2020/09/26(土) 19:27:11.27 .net
ママーツレタヨー

884 :名無しさん@そうだ選挙にいこう:2020/09/26(土) 20:10:29.69 .net
>>879
PowerShellとかVBSから開くようにすれば?
office365ってよくわからないけど、ブラウザで開くんでしょ?

885 :名無しさん@そうだ選挙にいこう:2020/09/26(土) 20:55:31.07 .net
ipadでそれ動かんですかね?

886 :名無しさん@そうだ選挙にいこう:2020/09/26(土) 20:59:08.37 .net
動くわけないだろ
お前おちょくられてんの

887 :名無しさん@そうだ選挙にいこう:2020/09/26(土) 21:06:03.56 .net
ごめん、普通にipad見落とした。

888 :名無しさん@そうだ選挙にいこう:2020/09/26(土) 21:07:49.01 .net
シャクティpadなら動かせるんだろうか・・・。

889 :名無しさん@そうだ選挙にいこう:2020/09/26(土) 23:50:40.44 .net
腐乱するわw

890 :名無しさん@そうだ選挙にいこう:2020/09/27(日) 00:59:45.39 .net
>>1-889
セルを結合する

891 :名無しさん@そうだ選挙にいこう:2020/09/27(日) 06:25:51.79 .net
ママータクサンツルヨー

892 :名無しさん@そうだ選挙にいこう:2020/09/27(日) 08:15:23.72 .net
対して困ってない問題なのに質問するなよ?

>>862
>返答ありがとうございます。
>分かりにくい書き込みで申し訳ありません。

>おっしゃる通り、ファイルを開く度にシート1が表示される方法です。
>office365で不特定多数が編集するため、できれば自動で表示できる方法はないかと模索しております。

893 :名無しさん@そうだ選挙にいこう:2020/09/27(日) 12:52:26.96 .net
クイズ出してるのよりはましだと思うぞ

894 :名無しさん@そうだ選挙にいこう:2020/09/28(月) 11:11:11.68 .net
ピボットテーブルで列に日付を設定しています。DAXでフィルターコンテキストを有効とした状態の初日を取得する方法を教えてください

895 :名無しさん@そうだ選挙にいこう:2020/09/28(月) 14:59:03.53 .net
>ここの皆さんは、大したことないんですね
>口だけ達者ですが、弊社にためになんの解決策も提示いただけないとは。
>
>こちとら遊びじゃないんですが、ビジネスで必要なんですよ。

コピペになりそう

896 :名無しさん@そうだ選挙にいこう:2020/09/28(月) 16:52:33.92 .net
VBAでリファクタリングする際に気を付けるポイントって何かありますかね?

897 :名無しさん@そうだ選挙にいこう:2020/09/28(月) 19:21:48.18 .net
VBAを捨てる判断を持つ

898 :名無しさん@そうだ選挙にいこう:2020/09/28(月) 20:31:34.67 .net
シートの1つにリストを作る
大阪
東京
神戸

別のシートで
マウスでセルを選ぶとリストから選べるように設定する。プルダウン?

( ´・ω・)ここまではできるんだけど、
昔リストの大阪を赤、東京を緑、神戸を青に文字を色付けしてたら、別のシートで選ぶときにも色が変わってたんだけどできなくなっちゃった。
どうしたらいい?

899 :名無しさん@そうだ選挙にいこう:2020/09/28(月) 20:39:37.26 .net
そうすればいい

900 :名無しさん@そうだ選挙にいこう:2020/09/28(月) 20:48:06.26 .net
>>899
選ぶとこの文字が黒くなっちゃうんよ。

901 :名無しさん@そうだ選挙にいこう:2020/09/28(月) 21:07:30.00 .net
かっこええやん

902 :名無しさん@そうだ選挙にいこう:2020/09/29(火) 00:12:40.92 .net
win10
2013
vba不可

標準偏差を求めるためSTDEV.P関数を使用したいのですが、元のデータリストは異なる母集団のデータがB列に1列に並んでしまっており、そのままだとかけられません。ただし、各母集団がどれに属するかという符号がA列にふられているので、それを利用してなんとか各母集団の標準偏差を出せないのでしょうか・・・・
イメージとしてはsumifの要領です。

903 :902:2020/09/29(火) 00:15:50.10 .net
DSTDEVPという関数がありました

904 :名無しさん@そうだ選挙にいこう:2020/09/29(火) 17:35:27.62 .net
win10
2016
vba不可

https://i.imgur.com/88YUsbN.jpg
画像の様にセルに数字を入力すると指定した範囲の合計を算出する様にしたいのですがどの様な関数を使用すれば良いでしょうか。

905 :名無しさん@そうだ選挙にいこう:2020/09/29(火) 17:45:45.47 .net
=HLOOKUP(Q2,$G$2:$P$4,2,0)+HLOOKUP(R2,$G$2:$P$4,2,0)
中間ってどうやって足せばええんや、オツムが足りんわ

906 :名無しさん@そうだ選挙にいこう:2020/09/29(火) 17:54:53.50 .net
>>904
https://i.imgur.com/uwKZmDt.png

907 :名無しさん@そうだ選挙にいこう:2020/09/29(火) 20:59:14.54 .net
ありがとうございます
助かりました

908 :名無しさん@そうだ選挙にいこう:2020/09/30(水) 12:00:39.98 .net
>>812
デジタル省はアメリカからの要請らしい
安全保障面が前提
それを踏まえてのファイブアイズ加入

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

特定シートのみを削除されないようにしたいのですが、どうすればいいでしょうか?
シートは日毎に作成し、入力していき、一定日時が経てば古いシートから削除していきます。
ただ、末尾のシートは基データを入れており、各シートはそこからデータを参照しているため、
末尾のシートを誤って削除されないようにしたいのです。
ブックの保護ではシート追加時に毎回保護解除しなければならないのでなにか良い方法があればご教授お願い致します。

910 :名無しさん@そうだ選挙にいこう:2020/09/30(水) 14:34:57.21 .net
>>909
シート名に削除するな!って書くのが1番簡単

911 :名無しさん@そうだ選挙にいこう:2020/09/30(水) 15:05:50.92 .net
一応気休めでシートの保護とシートタブの色変えて削除厳禁とは書いてあります。

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

○月の数字を変更するとL4以降のセルにyyyy/mm/dd形式の日付を自動で入力させるような方法はありますでしょうか?

https://free.uploader.xzy.pw/show/20200930153030_637145777a6a4e683963.BMP

913 :名無しさん@そうだ選挙にいこう:2020/09/30(水) 15:50:35.46 .net
>>909
末尾のシートを非表示にするか、外部参照にする

でも、日ごとにシートを作成して都度削除するような運用は
ブックが壊れやすくなる気がするから勧めない

914 :名無しさん@そうだ選挙にいこう:2020/09/30(水) 17:54:03.95 .net
>>911
削除禁止シートは一緒にせず別ブックにしとけ
入力はシート直接じゃなくフォームを使え
できればシートの削除や追加はVBAで自動的化した方が間違いが減らせるから、VBA可にできないか検討した方がいい

915 :名無しさん@そうだ選挙にいこう:2020/09/30(水) 18:09:48.70 .net
別ブック勧めるなよトラブルの元じゃん素人かよ

916 :名無しさん@そうだ選挙にいこう:2020/09/30(水) 19:53:03.25 .net
そのシートをどのくらいの頻度でメンテするかによるな。

917 :名無しさん@そうだ選挙にいこう:2020/09/30(水) 21:11:30.92 .net
みんなExcel頑張ってるなぁ。

918 :名無しさん@そうだ選挙にいこう:2020/09/30(水) 21:33:50.98 .net
よるな、じゃねーよ
セル結合と別ブック参照はやめてくれ
自分のPCで一生場所動かさない自分だけのオナニー用だけにしてくれ

919 :名無しさん@そうだ選挙にいこう:2020/09/30(水) 21:35:32.57 .net
バカが自信満々でトラブルの元まき散らすの勘弁してくれ

920 :名無しさん@そうだ選挙にいこう:2020/09/30(水) 22:09:52.55 .net
仲良くしる!

921 :名無しさん@そうだ選挙にいこう:2020/09/30(水) 22:56:36.92 .net
いいよ

922 :名無しさん@そうだ選挙にいこう:2020/10/01(木) 12:13:17.10 .net
いいね!

923 :名無しさん@そうだ選挙にいこう:2020/10/01(木) 14:13:15.71 .net
セル内の文字列にある単語をダブルクリックした場合、
Excel2013→コロン(;)もまたいで選択される
Excel2016→コロン(;)の手前で選択が止まる
これは仕様?どこかに設定ある?おま環?

924 :名無しさん@そうだ選挙にいこう:2020/10/01(木) 15:48:56.28 .net
ぶっちゃけExcel2000とかで十分なのにクラウドでデータを解析されるサービスを強要される

925 :名無しさん@そうだ選挙にいこう:2020/10/01(木) 18:02:45.55 .net
エクセルでこんな感じ
https://prau-pc.jp/wp-content/uploads/2017/11/Pra1694.jpg
のマトリクス表を作った時に横項目と縦項目がわかりやすいように斜線を境に色の塗り分け
したいのですがなんかお勧めな方法ありますか?

926 :名無しさん@そうだ選挙にいこう:2020/10/01(木) 18:21:28.41 .net
VBA

927 :840:2020/10/01(木) 18:50:23.98 .net
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2019
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

また教えてください。
商品リストシートを作成し商品名や商品コードを入力
入力シートにB列にE列が空欄なら""、E列に商品名があればVlookupで商品コードを参照
D列にC列が空欄なら""、C列に商品コードあればVlookupで商品名を参照するようにしました。

履歴シートの商品名列に入力E列(手入力データ)をコピーしたあと、
入力D列(関数で引用したデータ)を空白を無視して値をコピーするVBAを組んだら
長さ0文字のせいか手入力した商品名が上書きされて消えてしまいます。

リストから引用した商品名の方が固定文字になるので優先したいので、
貼り付け前に長さ0文字を空白にして無視して貼り付ける方法を教えてください。
よろしくお願いします。

928 :名無しさん@そうだ選挙にいこう:2020/10/01(木) 19:30:17.61 .net
答えてあげたいが解読不能。

929 :927:2020/10/01(木) 19:36:28.38 .net
分かりにくくて申し訳ない
文字の入ってるセルに上から関数で「""」にしてるセルを空白を無視してコピーすると元々の文字が消えてしまうんです

930 :名無しさん@そうだ選挙にいこう:2020/10/01(木) 19:42:34.12 .net
つまり、文字の入ってるセルに、上書きで、「関数で「""」にしてるセル」をコピーすると元々の文字が消えてしまうってこと?

931 :927:2020/10/01(木) 19:43:42.89 .net
そうなんです

932 :名無しさん@そうだ選挙にいこう:2020/10/01(木) 19:50:18.40 .net
>>918
いやだから動かさなきゃいいんだろ。

933 :名無しさん@そうだ選挙にいこう:2020/10/01(木) 19:54:39.58 .net
つまり、文字の入ってるセルに、上書きで、「〜〜」と書いてあるセルをコピーすると元々の文字が消えてしまって、「〜〜」になってしまうってこと?

934 :927:2020/10/01(木) 20:55:28.78 .net
あなたはもういいです

935 :名無しさん@そうだ選挙にいこう:2020/10/01(木) 21:42:24.00 .net
空白判定はISBLANKかなんかでやってんのかな
その場合何も入っていないかどうかを判定するわけで、数式が入っていたらBLANKとして扱われない
=””でやればいいんじゃないか

936 :名無しさん@そうだ選挙にいこう:2020/10/02(金) 12:44:00.29 .net
ExcelVBAにて
If aa = bb And cc <> dd Then
ans = x + y
Elseif aa = bb And cc = dd Then
ans = x
Endif
上記の内容で aa = bb = cc = dd だったのに
x + y が返されました。そこでIF文を入れ替えると正常に
動作したのですが、原因がわかる方教えていただけると幸いです。

937 :名無しさん@そうだ選挙にいこう:2020/10/02(金) 12:50:38.66 .net
デバッグしなよ

938 :名無しさん@そうだ選挙にいこう:2020/10/02(金) 12:51:04.96 .net
If aa = bb And cc <> dd Or ff = "" Then
ans = x + y
Elseif aa = bb And cc = dd Then
ans = x
Endif

間違えていました。こちらです。

939 :名無しさん@そうだ選挙にいこう:2020/10/02(金) 13:00:03.45 .net
ブレークポイントつけてウォッチウィンドウで変数の中身見ながらデバッグしなさいな

940 :名無しさん@そうだ選挙にいこう:2020/10/02(金) 14:14:45.31 .net
そんな変人がやることを勧めるのですか?

941 :名無しさん@そうだ選挙にいこう:2020/10/02(金) 15:22:47.15 .net
あなたが変人だから勧めたんですよ

942 :名無しさん@そうだ選挙にいこう:2020/10/02(金) 15:54:03.39 .net
なんでそんな酷いことを言うんですか

943 :名無しさん@そうだ選挙にいこう:2020/10/02(金) 18:09:37.47 .net
恋人だからですよあなたが

944 :名無しさん@そうだ選挙にいこう:2020/10/02(金) 18:45:41.87 .net
cc <> dd Or ff = ""
が真だからじゃないの

945 :名無しさん@そうだ選挙にいこう:2020/10/02(金) 18:54:15.92 .net
a and b or c って (a and b) or c と一緒でそ
ffが空なら ans = x + y になるんじゃね

946 :名無しさん@そうだ選挙にいこう:2020/10/02(金) 19:47:25.54 .net
おい、ならねーぞw

947 :名無しさん@そうだ選挙にいこう:2020/10/02(金) 20:38:14.54 .net
ペンがマクロで記録できないんですけど、
いや出来なくてもいいんですけどマクロで書けませんかね。
2019EXCEL2019バージョンです。
セルの上にペンでセルを書いたら、さぞかしアホだろうなと思うんですけど。

あと、戻る、進むのほかに、戻らないがあるといいと思いました。
←┐ ┌→ ×←┐
  ┘ └      ┘

948 :名無しさん@そうだ選挙にいこう:2020/10/02(金) 22:11:55.45 .net
ああ、俺が厨二だったら間違いなくセルの色はインクで染めたな。
しかもアホかって言われるまでしつこくやる。

949 :名無しさん@そうだ選挙にいこう:2020/10/02(金) 22:37:57.48 .net
https://i.imgur.com/ub6yJc5.jpg
画像右側のように、B列に値が入力されたものだけ項目と一緒に抽出したいと考えています。
マクロを使わずに実装する方法を教えてください。
よろしくお願いします。

950 :名無しさん@そうだ選挙にいこう:2020/10/02(金) 23:11:00.87 .net
>>949
どのバージョン使ってるかにもよるけど、filter関数

951 :名無しさん@そうだ選挙にいこう:2020/10/02(金) 23:37:03.54 .net
フィルター機能でできるだろ
関数さえいらんわ

952 :名無しさん@そうだ選挙にいこう:2020/10/03(土) 01:50:22.95 .net
filter関数はセルの結合をしていると使えない欠陥がある

953 :名無しさん@そうだ選挙にいこう:2020/10/03(土) 08:44:00.70 .net
スピルもそうだけど配列数式使うとソートが使えなくなるのそろそろ何とかならない?

954 :名無しさん@そうだ選挙にいこう:2020/10/03(土) 09:05:25.99 .net
ソートはテーブル化してOrder Byだな。

955 :名無しさん@そうだ選挙にいこう:2020/10/04(日) 18:30:54.88 .net
例えば、
社員リストを元に社員カードを作りたい場合、社員カードのセルに社員リストを参照するのが良いと思うのですが、
どういった方法が一番使い勝手が良いのでしょうか?

社員リスト(人物リスト)
https://dotup.org/uploda/dotup.org2272092.png_yjlmrmi49e0Kv5AvrALh/dotup.org2272092.png
自己紹介カード(赤文字が社員リストから参照している部分)
https://dotup.org/uploda/dotup.org2272094.png_42knHvlYW33nzKwjqql8/dotup.org2272094.png

現状、リストへの参照は、="なまえ-"&sheet!A2&"しゅみ-"&sheet!B2
といった風に無難?な参照方法でカードのセルに書いていっていますが、こういうのはxlookupを使った方がやりやすいのでしょうか?

また、自己紹介カードの参照セルの数字部分(sheet!A2のA2や、sheet!B2のB2)を
連番で複製することによって、太郎や陽介など他の社員のカードもコピーして簡単に作れると思うのですが、
複数行単位での関数部分の連番をするのに、適した方法や関数があれば教えて頂けないでしょうか

宜しくお願いいたします。

956 :名無しさん@そうだ選挙にいこう:2020/10/04(日) 18:34:12.99 .net
すみません、
>現状、リストへの参照は、="なまえ-"&sheet!A2&"しゅみ-"&sheet!B2
ここのセル指定がズレていますね、
A2ではなくsheet!B3、B2ではなくsheet!D3
でした 失礼しました

957 :名無しさん@そうだ選挙にいこう:2020/10/04(日) 18:42:30.09 .net
一度発行してしまえば今後何枚も印刷するようなものじゃなさそう
用紙一枚に入るだけのレイアウトで番号入力したらxlookupで埋める形よいかと

958 :名無しさん@そうだ選挙にいこう:2020/10/04(日) 19:15:00.73 .net
そのような関数はありませんが?

959 :名無しさん@そうだ選挙にいこう:2020/10/04(日) 21:01:02.38 .net
Access使えばいいのに

960 :名無しさん@そうだ選挙にいこう:2020/10/04(日) 21:13:29.66 .net
セルの内容をクリップボードにコピーするマクロってどうやって作るのですか

961 :名無しさん@そうだ選挙にいこう:2020/10/04(日) 21:36:34.50 .net
Win api使うんだよ

962 :名無しさん@そうだ選挙にいこう:2020/10/05(月) 03:35:59.61 .net
皆さんExcelの検定とか資格って持ってるのですか?

963 :名無しさん@そうだ選挙にいこう:2020/10/05(月) 12:46:18.80 .net
Excel相談員初段黒帯なら持ってる

964 :名無しさん@そうだ選挙にいこう:2020/10/05(月) 12:55:46.96 .net
>>960
Sub Sample1() 'セルA1の内容をクリップボードに入れる
  With CreateObject("Forms.TextBox.1")
    .Text = Cells(1, 1)
    .SelStart = 0
    .SelLength = .TextLength
    .Copy
  End With
End Sub

965 :名無しさん@そうだ選挙にいこう:2020/10/05(月) 21:48:36.29 .net
>>962
持ってないけど取りたいですね。

966 :牧野 :2020/10/05(月) 22:12:24.33 .net
>>955
indirectを使えば出来るけど、
https://i.imgur.com/sGeXIc8.png
>>957の言うように番号入れるだけにしたほうが確実に楽

>>962
MOSの難しい方取ったわ。一週間問題集解きまくれば簡単に受かる
詳しくは資格板へGo

967 :名無しさん@そうだ選挙にいこう:2020/10/06(火) 00:00:54.08 .net
とっても派遣の時給は上がらない

968 :名無しさん@そうだ選挙にいこう:2020/10/06(火) 00:52:43.05 .net
>>962
エキスパートまで持ってるけど何の意味もないな
VBA検定の方が欲しい

969 :名無しさん@そうだ選挙にいこう:2020/10/06(火) 09:44:33.24 .net
中小はわかんないけど、大手は脱マクロ傾向にあるから、Powerplatformに移行するのおすすめ
Appsでアプリ作ってから会社貸与スマホでの棚卸しや商品管理が楽になったよ

970 :名無しさん@そうだ選挙にいこう:2020/10/06(火) 10:17:31.20 .net
中小にはそんな金は無いのです

971 :名無しさん@そうだ選挙にいこう:2020/10/06(火) 12:05:01.86 .net
中小向けのソリューションも売り込みが盛んになってきてるし、コロナで業績の落ちたとこはどんどん飛びつくと思うよ

972 :名無しさん@そうだ選挙にいこう:2020/10/06(火) 12:14:15.17 .net
業績伸びたらの間違いじゃ無いか

973 :名無しさん@そうだ選挙にいこう:2020/10/06(火) 12:33:41.27 .net
経済がわかってない人なんだろ

974 :名無しさん@そうだ選挙にいこう:2020/10/06(火) 14:13:58.35 .net
x = Cells(1,1) 'A1



Function(A1)

ってどっちが処理はやいんですか?

975 :名無しさん@そうだ選挙にいこう:2020/10/06(火) 14:20:55.43 .net
for-nextで回して時間測ってみ

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

a1,b1,c1,d1,e1,f1
にそれぞれ数値が入ってます。
これらの数値がすべて異なる場合に1を重複する場合には0を表示したいのです。
良い方法はありませんか?a1,b1,c1,d1,e1,f1のセルは実際にはもっと増えるため
一つ一つをCountIFなどで判定するのはつらいのです><

977 :名無しさん@そうだ選挙にいこう:2020/10/06(火) 18:11:11.95 .net
countifを使わない方法を求めてます。

978 :名無しさん@そうだ選挙にいこう:2020/10/06(火) 18:20:50.59 .net
同じ値のセル数をcountすればいいだけじゃないの

979 :名無しさん@そうだ選挙にいこう:2020/10/06(火) 18:23:45.25 .net
そんでセルの数と合ってれば1にすればいいだけじゃないの

980 :976:2020/10/06(火) 18:24:42.44 .net
>>978
作業列を使ってcountIFを使う方法はわかるのですが、
作業列を使わないで一つのセルで完結に解決したいのです。。。

981 :名無しさん@そうだ選挙にいこう:2020/10/06(火) 18:49:10.14 .net
ひたすらFindするとか

982 :名無しさん@そうだ選挙にいこう:2020/10/06(火) 19:02:08.25 .net
>>976
そもそもなんで横で比較するんだ?
テーブルの考え方から言って、フィルターかけるのは縦なんだから作りからいけてないのでは

983 :名無しさん@そうだ選挙にいこう:2020/10/06(火) 19:07:05.73 .net
無理やり1セルでやってみた
FindじゃなくてMatchだね

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

984 :976:2020/10/06(火) 19:09:19.22 .net
>>982
縦でも構わないです。
a1,a2,a3,a4・・・でも構いません。
作業列を使わずにスマートに列の中に重複する数値があるかを
一つのセルで完結したいです。

985 :名無しさん@そうだ選挙にいこう:2020/10/06(火) 19:09:20.12 .net
>>980
countaでセルの数を数えてcountで基準となるセルと同じセルの数を数えて両方が同じ数なら1にすればいいんでしょ
作業列いらないじゃん

986 :976:2020/10/06(火) 19:11:04.99 .net
>>983
ありがとう。。。
でも、数値の入ったセルは今後どんどん増える予定なのです。。。

987 :976:2020/10/06(火) 19:15:23.15 .net
>>985
countaとcountでどのように解決できますか?
どのような式になるか教えていただけると助かります。

988 :名無しさん@そうだ選挙にいこう:2020/10/06(火) 19:23:05.45 .net
関数がわからないならググれ
作業列作って実験しろ

989 :976:2020/10/06(火) 19:23:59.58 .net
関数はわかりますが。。。
countで解決できるとは思えないのですが。。。

990 :名無しさん@そうだ選挙にいこう:2020/10/06(火) 19:27:38.97 .net
=(SUM( (A1:F1=TRANSPOSE(A1:F1)) *1) = COUNT(A1:F1))*1
で多分いいと思う
配列数式なので、Ctrl+Shift+Enterで

991 :976:2020/10/06(火) 19:27:45.07 .net
count…数値のカウント
counta…空白以外のカウント

これで解決できるのですか?
全く想像できません。。。
わかる方アドバイスお願いします><

992 :976:2020/10/06(火) 19:31:55.70 .net
>>990
ありがとうございます。ぜひ使わせていただきます。
動作を確認いたしましたm(_ _)m

993 :名無しさん@そうだ選挙にいこう:2020/10/06(火) 21:17:58.70 .net
マクロ使え

994 :名無しさん@そうだ選挙にいこう:2020/10/06(火) 21:56:51.00 .net
縦並びでもいいんなら
=IF(SUMPRODUCT(COUNTIF(A:A,A1:A9))=COUNT(A:A),1,0)
範囲のA1:A9の部分はデータの個数に応じて変更して

995 :名無しさん@そうだ選挙にいこう:2020/10/06(火) 22:36:43.26 .net
いい加減新しいExcelに変えたほうが良いと思うぞ
http://imgur.com/UbSw0RN.png

996 :名無しさん@そうだ選挙にいこう:2020/10/06(火) 23:07:21.62 .net
365覚えると「今まで俺が学んできたことは一体何だったんだ」ってなるよな

997 :名無しさん@そうだ選挙にいこう:2020/10/06(火) 23:09:09.65 .net
とりあえず立てといた

Excel総合相談所 141
https://mevius.5ch.net/test/read.cgi/bsoft/1601993310/

998 :名無しさん@そうだ選挙にいこう:2020/10/06(火) 23:13:23.54 .net
LET関数

999 :976:2020/10/06(火) 23:40:32.10 .net
>>995
ありがとう。新しい関数を使えば簡単なんですね

1000 :名無しさん@そうだ選挙にいこう:2020/10/07(水) 01:02:36.83 .net
1000

1001 :2ch.net投稿限界:Over 1000 Thread
2ch.netからのレス数が1000に到達しました。

総レス数 1001
277 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200