X



Excel総合相談所 137

レス数が1000を超えています。これ以上書き込みはできません。
1名無しさん@そうだ選挙にいこう
垢版 |
2019/10/08(火) 20:06:19.40
【1 OSの種類         .】 Windows**
【2 Excelのバージョン   】 Excel**
【3 VBAが使えるか    .】 はい・いいえ
【4 VBAでの回答の可否】 可・否

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

前スレ
Excel総合相談所
https://find.5ch.net/search?q=excel

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名無しさん@そうだ選挙にいこう
垢版 |
2019/10/08(火) 20:06:36.31
立ってなかったので立てました
どうぞ〜
2019/10/08(火) 21:16:03.30
新スレおめ☆(^▽^)
2019/10/08(火) 21:22:23.73
iが飛び飛びになる理由を無理矢理考えると、
実はieのチェックボックスのIDが偶数しかなく、
On Error Resume Nextで飛ばしてるとか。
2019/10/08(火) 21:46:53.00
>>4
一応要素は1個1個調べたんですが、0から綺麗に並んでいました・・
2019/10/08(火) 21:46:53.35
STEPが2じゃないならForの中に原因があるんだからそこが見えなければこっちも何もわからん
2019/10/08(火) 22:07:03.78
こんな感じだったと思います
Sub h()
Dim shl As Object
Set shl = CreateObject("Shell.Application")
Dim targetTitle As String
targetTitle = "url"
Dim win As Object, getFlag As Boolean
For Each win In shl.Windows
If TypeName(win.document) = "HTMLDocument" Then
If win.document.Title = targetTitle Then
Dim objIE As New InternetExplorer
Set objIE = win
getFlag = True
Exit For
End If
End If
Next
Dim htmlDoc As HTMLDocument
Set htmlDoc = objIE.document

Dim i As Long
For i = 1 To 20
Dim anchor As HTMLAnchorElement
For Each anchor In objIE.document.getElementsByTagName("select")
If InStr(anchor.ID, "○○○ & i - 1") > 0 Then
anchor.Click
Exit For
End If
Next
End Sub
8名無しさん@そうだ選挙にいこう
垢版 |
2019/10/08(火) 22:14:50.74
ごめんなさい肝心のfor内に忘れ物してました

Dim i As Long
Dim anchor As HTMLAnchorElement
For i = 1 To 20
If Not Range("A" & i).Value = "" Then
For Each anchor In objIE.document.getElementsByTagName("select")
If InStr(anchor.ID, "○○○ & i - 1") > 0 Then
anchor.Click
Exit For
End If
End If
Next
2019/10/08(火) 22:18:49.49
思いますじゃなくて確実なやつを頼む
2019/10/08(火) 22:20:41.85
急になんの話してんの?
2019/10/08(火) 22:21:35.70
>>8で確実です
2019/10/08(火) 22:23:51.12
>>11
差し支えなければチェックボックス部分のソースも
2019/10/08(火) 22:27:00.60
あぁ、前スレから話が続いているのね…
2019/10/08(火) 22:31:54.98
>>12
社内システムだからチェックボックス内のソースは公開難しいです、申し訳ないです
2019/10/08(火) 22:32:04.52
>>12
社内システムだからチェックボックス内のソースは公開難しいです、申し訳ないです

>>13
うるさくてごめんね
2019/10/09(水) 00:28:21.67
すいません 2016(2010もあります)win10なんですが
久々に月データを追加して作成途中なんですが
月データを追加するとグラフの右端が短く表示され
切れてしまうのですが色々試行錯誤しましたがダメです
どなたかお助けいただけないでしょうか(ノД`)
よろしくお願いいたします


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

新 作成中
https://i.imgur.com/or36uoH.jpg
17名無しさん@そうだ選挙にいこう
垢版 |
2019/10/09(水) 04:24:00.69
セルAと数値とセルBの数値の大きいほうを選んでセルCで計算させる方法を教えてください。あとセルBが空白の時はセルAを優先。お願いします。
2019/10/09(水) 07:13:12.88
>>17
=MAX(A1,B1)+計算ほにゃら(^▽^)
19名無しさん@そうだ選挙にいこう
垢版 |
2019/10/09(水) 07:35:33.94
>>18
ありがとうございます!
2019/10/09(水) 10:46:28.21
>>8
見直してみましたがどうしても解決しません・・
前スレにあったforループ の中にi=i +1があるというのはどういうことでしょうか?
2019/10/09(水) 11:18:07.51
>>20
instr内のダブルクォーテーションがおかしい
2019/10/09(水) 11:33:29.85
>>20
解決に結びつくか知らんけど、いろいろと羅列するぞ

For i=1 to 20 : Debug.Print i; : i=i+1 : Next

If InStr(anchor.ID, "○○○" & i - 1) > 0 Then

For without Next
2019/10/09(水) 15:19:47.85
>>22
1個目はfor処理が一つもされなくなる、
2個目はこちらの記載ミスでしたので直しました、
3個目は修正候補=と出て記載ができませんでした・・
24名無しさん@そうだ選挙にいこう
垢版 |
2019/10/09(水) 16:24:26.66
なんだこのうんこの塗りあいみたいなやりとり死んでくれねーかな
2019/10/09(水) 16:35:24.34
うんこスレにようこそ
2019/10/09(水) 19:18:21.34
iが飛び飛びになってるのはどう確認したの?
単に、1つおきにしかIfの条件に当てはまらなくて、飛ばされているのではなく?
2019/10/09(水) 19:22:53.84
>For without Next

本当にそんな使い方があるのかと思ってしまった。
2019/10/09(水) 19:32:52.34
>>26
該当するIDが
○○○0
○○○2
○○○4
しかクリックされないので、iに1.3.5…しか入ってないのかと。
2019/10/09(水) 19:49:27.10
>>27
俺はエラーメッセージかと思たわ
2019/10/09(水) 19:57:28.36
想像で決めつけずに実際にどうなってるかちゃんと確かめてくれ
2019/10/09(水) 20:49:25.72
うんこ!うんこ!言うな!みんな真面目に話してしてるんだ!!邪魔するな!!
2019/10/09(水) 21:51:24.06
>>31
みんなうんこの話してるんだ!!邪魔するな!!
33名無しさん@そうだ選挙にいこう
垢版 |
2019/10/09(水) 22:18:20.19
バカが想像で質問してるのに答えられるわけねーだろ考えるだけ損だ
だいたいなんでVBAでチェックボックスにチェック入れてんだよ死ねよ
2019/10/09(水) 22:34:48.85
何カリカリしてんの?肩の力抜けよ
35名無しさん@そうだ選挙にいこう
垢版 |
2019/10/09(水) 22:45:06.51
分かる連中はバカに付き合いたくないから無視してるから
答えるのも手探りのバカばっかでうんこの塗りあいになってんだよ
勘弁してくれよ
36名無しさん@そうだ選挙にいこう
垢版 |
2019/10/09(水) 22:49:29.76
しかもhtml側の問題だろ
なんでExcelのスレでそんなもん面倒見なきゃなんねーんだよ
2019/10/10(木) 15:23:41.62
>>30
確認したところ、debagprintでも1〜20と推移しましたし、ステップインでも正常に動作したのに本番環境だとうまくいきませんでした。
2019/10/10(木) 17:42:45.28
>>37
exit forをやめてみる
2019/10/10(木) 18:11:01.25
anchor.Click の位置に、debug.print anchor.ID を入れる
それで問題無ければ、 Click がうまくいかなかっただけと考え、Sleep とかを適所に差込む
使い方は調べて

でも、きれいに一つおきになったのは謎
チェックボックスなのにTagName("select")なのもあやしい
というより、セレクトボックスに連動してチェック入ってるだけでは?
そうなると、htmlの構造を調べろという事で、そこから先はスレチ
40名無しさん@そうだ選挙にいこう
垢版 |
2019/10/10(木) 18:40:03.32
ループ内でclickしてるのも終わってるな
41名無しさん@そうだ選挙にいこう
垢版 |
2019/10/10(木) 18:40:31.85
バカほどしつけーんだよな
頑張ってくれや
2019/10/10(木) 19:41:27.62
いちいちあげんな
ゴミ同士まとめて死ね
2019/10/10(木) 19:44:52.93
>>42
アンタこのスレに無理にとどまっている必要無いんだよ?
2019/10/10(木) 19:48:25.85
>>37
じゃあIDが本当に合ってるか
2019/10/10(木) 20:16:27.32
Excelって奥深いなぁ。素人だけどそう思うわ。
2019/10/10(木) 21:21:02.99
Excelが、というよりVBAが使えるオフィス製品全部ね。
一見、オマケで付いてるように見えて、実はメイン部分より凄いっていう。
2019/10/10(木) 21:34:39.09
用途が違うから凄さ比較はおかしい
48名無しさん@そうだ選挙にいこう
垢版 |
2019/10/10(木) 22:00:20.60
Sub test()
With Workbooks("book1.xlsx").Worksheets("sheet1")
.Activate
.Range("A1").Select
.PasteSpecial Format:="HTML"
End With
End Sub

別のブックにHTMLファイルをペーストするコードですが、他にシンプルな書き方があれば教えてくだい
2019/10/10(木) 22:02:43.45
↓こういう、エクセルを説明する時の定番の表ってあるじゃないですか。

りんご  1個
みかん  2個
もも   12個
合計   15個

でも俺的には、↓こういうのをお勧めしたい。

ケナーパーカー    42点
ナーフフェンシング  21点
ナーフゴルフ      22点
合計         -6000点
2019/10/10(木) 22:06:46.96
>>48
コピーもしないでどうやって貼り付けるのかと思ったわ。
2019/10/10(木) 22:08:42.50
Sub スコーン()
 Workbooks("book1.xlsx").Worksheets("sheet1").Range("A1")..PasteSpecial Format:="HTML"
End Sub
52名無しさん@そうだ選挙にいこう
垢版 |
2019/10/10(木) 22:08:50.77
>>50
すみません、コピーは手動なので省いています
2019/10/10(木) 22:23:38.82
sub テスト()

dim i as integer

i=1

range("b3").select
for i = 1 to 20
activecell.value = i
i=i+1
activecell.offset(1.0).select
next
End sub

すいません、これを実行したら1.3.5.7.11.13.15.17.19といった奇数しか出ません。1から20までようにするにはどうしたらいいですか?よろしくお願いします。
2019/10/10(木) 22:27:35.63
i=i+1いらなくね?
55名無しさん@そうだ選挙にいこう
垢版 |
2019/10/10(木) 22:39:07.95
>>51
動作確認しましたが、1004エラーになりました
2019/10/10(木) 22:41:27.94
>>55
..ってそのまま打ったんじゃあるまいな
57名無しさん@そうだ選挙にいこう
垢版 |
2019/10/10(木) 22:42:17.21
>>56
構文エラーになるのでわかります
2019/10/10(木) 22:51:40.57
LOOKUPでリストから情報を抽出、さらに数式
を多用しているシートをVBAで連続印刷したい
のですが、少し計算処理が遅い感じになって
ます。
数式を多用することで、VBAの連続印刷より計
算が遅れる現象ってあるのでしょうか。
2019/10/10(木) 22:53:17.32
>>57
では何もコピーしてないんじゃないのか
60名無しさん@そうだ選挙にいこう
垢版 |
2019/10/10(木) 22:58:36.94
>>59
マクロ実行前に手動でコピーしてます
同じやり方で>>48は成功してます
もしかしたら、マクロ上でコピーするのであれば>>51は成功するのかな
2019/10/10(木) 23:08:23.64
>>60
Workbooks("book1.xlsx").Worksheets("sheet1").PasteSpecial Format:="HTML"
62名無しさん@そうだ選挙にいこう
垢版 |
2019/10/10(木) 23:23:32.96
>>61
ありがとうございます
book1のペーストの位置がアクティブシートのセル位置なので、アクティブシートのセルを任意のセルにセレクトするコードは必要ですね
2019/10/10(木) 23:31:04.57
違う書き方を探してたのか、最初の質問見てなかったわ
2019/10/11(金) 13:07:37.31
Workbooks("book1.xlsx").Sheets(1).Range("A1:A1").PasteSpecial "HTML"

sheet1がアクティブにならないのと、事前にHTMLをコピーしとかないと1004エラーになるよ
sheet1が左端にない場合は番号を変える
65名無しさん@そうだ選挙にいこう
垢版 |
2019/10/11(金) 14:57:30.71
「移動」と「HTML貼り付け」がしたいならこんな感じじゃないの

'Move to the target book-sheet-cell
Application.Goto Workbooks("book1.xlsx").Worksheets("Sheet1").Range("A1")
'Paste clipboard contents
ActiveSheet.PasteSpecial Format:="HTML"

RangeオブジェクトのPatesSpecialには引数Formatは無いから、Worksheetオブジェクトの方を使わないと駄目
2019/10/11(金) 19:15:39.54
>>65
話はその次の部分だぞ
2019/10/11(金) 19:18:43.79
小文字を大文字にしたいのですが↓の間違えている個所を教えてください<(_ _)>

i = Cells(Rows.Count, 1).End(xlUp).Row
Range("A2:A" & i).Value = Application.UCase(Range("A2:A" & i))
2019/10/11(金) 19:41:31.73
>>67
Application.UCase(Range("A2:A" & i))
6967
垢版 |
2019/10/11(金) 20:05:33.63
>>67

ありがとうございます<(_ _)>
70名無しさん@そうだ選挙にいこう
垢版 |
2019/10/11(金) 20:19:33.90
>>67
ucaseはvba関数だからapplicationいらなくて、
配列は処理できないから個々のセルごとに処理しないと駄目

dim rng as range, i as long
i = cells(rows.count,1).end (xlup).row
for each rng in range("A2:A" & i)
  rng.value = ucase(rng.value)
next
2019/10/11(金) 20:25:22.65
Cells(1,"A")と書かず、判りにくいCells(1,1)と書くのはなぜ?
ネットの記述とか見ててもCells(1,"A")と書いてるの見たこと無い
72名無しさん@そうだ選挙にいこう
垢版 |
2019/10/11(金) 20:30:54.73
一番の理由は速度が出るからだろうね
特に大量のセルが絡むループ処理内で文字列使うと遅くなる
1つとかなら好みでいいんじゃないの。それならRange使えばってなるけど
2019/10/11(金) 20:51:54.15
>>71
慣れ
基本cellsはループ内で使うから文字列で書く理由がない
速度は気にしたことない

>>72
>1つとかなら好みでいいんじゃないの。それならRange使えばってなるけど
には全面的に同意
何らかの理由(テンプレートの動的生成みたいな)ものならセル範囲をrabgeで指定することはある
2019/10/11(金) 20:58:08.60
>>71
列番号で処理したい時にCellsが使われることが多いから
75名無しさん@そうだ選挙にいこう
垢版 |
2019/10/12(土) 05:56:18.22
条件付き書式を書き込んだ行ををコピ-挿入すると同じルールが行毎にがどんどん増えていって困ってます。
同じルールで適用先の範囲が増えていくように設定するにはどうやったらいいんでしょうか?
2019/10/12(土) 07:36:56.28
>>75
列を挿入してから形式を選択した貼り付けじゃだめ?
77名無しさん@そうだ選挙にいこう
垢版 |
2019/10/12(土) 10:39:47.97
>>76
 ありがとうございます。
 マクロ編集でなおりました。
 どういう内容なのか忘れましたが、
  Application.CutCopyMode = False
Selection.AutoFill Destination:=Range(K11:K12), Type:=xlFillDefault
Range("K11:K12").Select
2019/10/12(土) 20:12:51.49
関数の質問はここでいいのでしょうか?
excel2013、windows7使用しております。
文字列の比較での質問です。
比較元の左端から1文字ずつ比較をし、最も文字数一致が
多かった比較先の行の別内容を表示させたいのですが、どうすればできるのでしょうか。
たとえば、
比較元「あいうえお」
比較先(固定リスト) data1「あいう」,data2「あいうえお」,data3「えお」
結果「data2」
と、極力計算用の列を追加させずに1つの関数で計算させたいです。
(比較したい元データが1200件程度あるので)
宜しくお願いいたします。
7978
垢版 |
2019/10/12(土) 20:16:05.25
若干誤解を招く部分がありました。
1文字ずつ比較したいので、
比較元「あいうえお」
比較先のdata2を「abおえcあうdいe」とした場合でも、一致した文字数を"5"と
返すような計算をしたいです。
2019/10/12(土) 20:39:29.32
比較元の文字数は?
8178
垢版 |
2019/10/12(土) 20:47:47.63
>>80
日本語で20文字〜45文字程度とバラバラです。
補足ですが、比較先データのリストも1200件程度あります。
2019/10/12(土) 21:35:20.64
>>81
VBA使わないと計算用の列増えそう
2019/10/12(土) 21:43:49.79
比較元「あいうえお」比較先「あああ」の一致数は1?3?
8478
垢版 |
2019/10/12(土) 22:05:50.76
>>83
3です。
計算用の列が増えても、最終的に無事表示することができれば大丈夫です、、、
現時点では、一致文字数を表示する関数自体はsumproduct,midで実現できており、その計算列に対しindex,match,maxで内容を表示することができていますが、それだと比較元1件ごとに列が必要となってしまうので、、、
(教えてもらった方法なので今いち仕組みがよくわかっていませんが、、、)
2019/10/12(土) 22:19:58.61
>>84
比較元1文字ごとではなく1件ごと?
2019/10/12(土) 22:20:58.90
比較元は1つだと思ってたが違うのか?
2019/10/12(土) 22:24:45.31
>>78
VBAで関数を作れば1つの関数でできる
VBAなしでは無理
8878
垢版 |
2019/10/12(土) 22:42:12.08
説明がへたくそでごめんなさい。
比較したいデータが1000件以上あり、1件ずつかつそれぞれ1文字ごとに比較先リストと照らし合わせ、そのリストの中で一致文字数が最も多かったデータ行を返したい、という意味でした。
8978
垢版 |
2019/10/12(土) 22:57:21.60
具体的に説明させていただきます。
相手会社名、摘要、科目などがデータとしてあります。
この時点では「果物費用」などとざっくりとしか分かれていないので、これらの情報を元に「A商店 バナナ費用」「B商店 りんご費用」のように細かく分けていきたいんです。。。

前年度データが比較先リストです。これについては既にバナナ費用等と細かく分かれています。(前任者が目視で確認しながら分けていったものです)

そして、今年度データが比較元です。まだバナナ費用等と分かれていないので、どうにか目視ではなく関数で分けたいなと思い質問いたしました。

相手先や摘要は複数名が入力しているデータのため統一性がありません。同じA商店でも、エー商店や商店エイとなっていたりしています。
そのため、前任者は目視でやっていたようです。
2019/10/12(土) 23:52:59.67
どちらにしろVBA使わなきゃ作業列が増える気がする
それに先にやるべきは入力を統一させること…
2019/10/14(月) 03:49:25.60
MOSのような説明書的なものではなく実務でのExcelの使い方の要領を知りたいんですが、みんな独学なんですか?
いい講座があれば知りたい…
2019/10/14(月) 06:35:40.77
実務自体が千差万別だからこれと言った講座はない
強いて言えば入社後の社内研修とかがこれに当たるかね
おとなしくMOS受けとくのが良い
2019/10/14(月) 08:01:34.63
MOSってマニュアルレベルを精度高く覚えることなんじゃないの?
応用実践の力つくの?
2019/10/14(月) 08:04:35.38
365だからMOSの勉強できないんだが
2019/10/14(月) 08:49:26.12
>応用実践の力つくの?
付かない、というかそんなもん実践でしか付かんよ
サイトでも本でもデータが整っている前提だけど、基本的に現場なんてデータはバラバラの状態で存在する
それを修正する所から始める
2019/10/14(月) 10:52:48.49
MOS受かれば職場で重宝されるよ
「ググるよりXXさんに聞く方が早くて」
97名無しさん@そうだ選挙にいこう
垢版 |
2019/10/14(月) 11:21:24.74
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

語群がSheet1のA列にあったとします。
Sheet2のA列に少し長めのテキストが並んでが入っていたとして、
語群のキーワードがいくつ含まれるかSheet2のB列にカウント表示させたいです。
どうすればできるでしょうか?
2019/10/14(月) 11:40:39.31
>>97
こんな感じかねぇ
https://i.imgur.com/NjGHNmZ.png

B2=COUNTIF(C2:E2,TRUE)
C2=IFERROR(FIND(C$1,$A2),0)>0

Excelはどれかの文字列が入っているって処理はやや苦手
2019/10/14(月) 13:21:24.56
>>91
講座や解説書ではこういうことができるんだなっていう理解はできるかもしれないが、実用技術を身に付けるのは難しい
やりたい処理をひたすら調べて実際に動かしてみるというのを積み重ねてるうちに身に付いてる
10097
垢版 |
2019/10/14(月) 14:12:06.21
>>98
条件を元にお願いします。
2019/10/14(月) 14:53:23.41
>>100
>語群がSheet1のA列にあったとします。
これを行列入れ替えでsheet2の1行目に貼り付けるだけだよ

その貼り付けが嫌というならvbaぐらいしか思い浮かばない
2019/10/14(月) 14:55:32.94
>>100
Sheet1のリストの数だけ作業列がいると思う
だからリストを別シートにせずA列に調べる対象のテキスト、1行目にキーワードを並べる形式にした方がいいと思う
2019/10/14(月) 16:45:38.56
>>97
Sheet2!B1=SUMPRODUCT(--NOT(ISERROR(FIND(Sheet1!A1:INDEX(Sheet1!A:A,COUNTA(Sheet1!A:A)),Sheet2!A1))))
2019/10/14(月) 16:49:59.36
--NOTって何だ・・・
2019/10/14(月) 18:15:23.83
>>93
実戦ではまず使わないだろうってことを知ることが出来るのがMOS
私も独学だけどまずやることがあってそれをどうやったら実現できるかググって少しずつ出来ることが増えてく感じ
うちの職場には関数使えるのが1人だけいて初めその人に教わって
それからVBA使いはじめてそこからは独学
でももともとプログラマだったから全くの初心者からという感じではない
2019/10/14(月) 18:32:46.20
>>105
自分語りはブログあるいはチラシの裏に
2019/10/14(月) 19:10:51.83
独学ですか?っていう質問に答えてるだけだと思うんだが
108名無しさん@そうだ選挙にいこう
垢版 |
2019/10/14(月) 19:27:51.94
【1 OSの種類         .】 Mac 10.14.6
【2 Excelのバージョン   】 Excel for Mac 16.16.14
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

質問失礼します。

プルダウンリストにした元となる項目の変更方法。(名称など)

仕事で使っているのですが、シートをテーブルにして、プルダウンリストはシートの指定範囲を名前を定義して使っています。指定範囲には商材リストの商材名を入れてあるので、リストから選択をすると横に売価や原価が出るような形にしてあります。

プルダウンリストの元データとなる指定範囲の名称(商材名)を変えると、プルダウンで選択をしたセルでは変更が反映されません。元データの変更をプルダウン側にも反映させたいのです。

例)
変更前
リスト:魚 プルダウン:魚
※プルダウン選択時はリストと名称が一致しているので問題なし

変更後
リスト:魚A プルダウン:魚
※リストに修正を加えてもプルダウンで選択したものは反映されず、一致するデータがないという事なのかリストに紐付けた引用データなどは#N/Aとエラーが出る

このような場合、リストに修正を加えたものをプルダウンの選択にも反映させるにはどのようにすれば良いのでしょうか?
※うまく説明ができずにすみません。

ググってみてもリストの追加、削除に関しては生地が色々とあったのですが、リストそのものを編集に対する反映のさせ方が見つけられませんでした。

アドバイスよろしくお願いします。
2019/10/14(月) 19:46:18.16
>>108
通し番号でもつけておくしか無いねぇ
2019/10/14(月) 20:09:44.56
>>108
リストを変えたら手動で選択し直す必要があるよ
自動で変えたかったらVBA使うしかない
111108
垢版 |
2019/10/14(月) 20:29:52.04
>>109-110

レスありがとうございます。
アドバイスを参考に頑張ってみます。
2019/10/14(月) 23:57:03.34
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Office365
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

画像のように一つのセルに表の数字を表示さたいです。

重複している数字を消して、昇順で並べ替え、数字の間に,を入れるということが可能でしょうか?

https://i.imgur.com/cqPIdCZ.jpg
113名無しさん@そうだ選挙にいこう
垢版 |
2019/10/15(火) 03:14:45.25
数字は1から9まででいいんですか?
114名無しさん@そうだ選挙にいこう
垢版 |
2019/10/15(火) 04:02:13.08
あ VBAつかえるんじゃん
別シートにコピーしてシート上で重複削除ソートして整形するのをマクロで処理するか
VBScriptか.NETのArrayListのソートでやるか

てっきり数式限定のパズル問題かと思ったよw
2019/10/15(火) 11:57:54.80
>>112
@ VBA

A Office インサイダー
=TEXTJOIN(",",TRUE,SORT(UNIQUE(A1:A9)))
2019/10/15(火) 12:21:32.87
>>112
なんとか数式だけで頑張ったけど無理だった
=SMALL(A1:A9,1)&REPT(","&SMALL(A1:A9,1)+1,ROW(A9)-1)
+1の所をなんとか1ずつ増やせられればいけそうだけどわかんないです
2019/10/15(火) 14:01:04.99
夏の悲劇
2019/10/15(火) 20:48:45.46
>>112
A1〜A9を連想配列に入れる(重複削除)→並べ替え→デリミタに,を指定して結合
2019/10/15(火) 23:42:00.94
>>113-118
皆様お力添えありがとうございます。
参考にして作成してみます。
2019/10/15(火) 23:54:17.76
>>119
出来たら教えてね
2019/10/16(水) 19:20:57.14
エクセルで作ったグラフを、拡張メタファイルなどでワードに貼り付けると結構綺麗なんですが、
同じくらいの綺麗さでエクセルにコピーする方法ありませんか?
エクセルに貼り付けると、何故だか若干ボヤけてしまいます。
2019/10/16(水) 19:50:30.26
貼り付ける時に、図としてとか、リンクとか、画像としてとか、いくつか選択肢があったと思うけど、
適当に選んでれば、そのうち正解にたどり着くのでは?
2019/10/16(水) 19:52:59.81
>何故だか若干ボヤけてしまいます。
眼鏡を替えたらいいと思うよ
2019/10/16(水) 20:23:03.82
>>121
画像サイズが縮小が拡大されてるとか
2019/10/16(水) 20:23:28.80
縮小が拡大→縮小か拡大
2019/10/16(水) 21:56:30.37
>>121
図として貼り付けるとダウンコンされて貼り付けられるから画質落ちるよ
2019/10/16(水) 22:02:03.27
メニューから貼り付けたら綺麗だったはず
2019/10/16(水) 22:41:16.03
>>127
挿入→図だとダウンコンされる
ドラッグアンドドロップだとそのまま貼り付けられるよ
2019/10/16(水) 22:41:39.81
ドラッグアンドドロップだったか忘れたけど
2019/10/17(木) 00:30:39.79
すいません教えてください 家のPCで使用しています

Office365にバージョンアップ?する前のexcel使用しています
ネット上でやるけど月額払ってない奴です

これでfxボタン押してVlookupを選ぶと関数の引用のダイアログボックスが出ません

会社のPCはエクセル2016で上記のダイアログボックスが出ます

家で仕事しようとしましたがexcel2002しかなくこれでfxボタンを押すと何かをインストールしますでフリーズし止まります

仕方なくOfficeでネットのexcel使ったんですがfxボタンの後、関数を選んでも関数の引用ダイアログボックス出ません

どうしたら表示されますか?
2019/10/17(木) 01:12:18.45
>>128
いや、形式を選択して貼り付けで
2019/10/17(木) 01:16:25.31
>>130
オンライン版Excelは機能限定版
2019/10/17(木) 08:46:53.80
>>132 何度もすいません
だとすると月々1500円?払うOffice365でも昨日限定ですか?
関数の引用ダイアログボックス使うにはオンラインではなくソフトの方を買わないとダメですか?

いかんせんソフト一括払いは高いんでできたらOffice365で月払いにしたいです
2019/10/17(木) 09:06:05.56
>>133
365なら全機能が使える
月に一度はネットに接続して再認証しないと使えなくなるだけ
2019/10/17(木) 13:11:58.22
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel365
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

共有ファイルをExcelonlineで図形挿入し四角を書いて長方形にしたりしたいんだけど
今までできてたはずなのに今日やってみるとできなくなってるんですけど
なぜなんだろう
文字の入力や図形の移動はできます
2019/10/17(木) 18:56:40.05
>>135
出来た時からできなくなった時の間にした操作は?
2019/10/17(木) 20:19:34.62
なあ。Excel365 バージョン 1909(ビルド 12026.20334)に上がったら
Range("A1").Value = "令和1年10月17日"
の結果が
"令和1年10月17日"
じゃなくて
2019/10/17(Value)
"令和1年10月17日"(Text)
になっちゃうようになっちゃったんだが。
これって仕様なの?
138名無しさん@そうだ選挙にいこう
垢版 |
2019/10/17(木) 21:07:39.54
バージョン上げて変わったってわかってるんなら仕様だろ
Range("A1").value = "'令和1年10月17日"にしとけ
2019/10/17(木) 22:19:16.49
Excelで日本の元号使う奴は馬鹿
2019/10/18(金) 00:14:50.91
>>138
Excel2000とかからの仕様がこんな半端なタイミングで突然変わったりするものか?
という素朴な疑問。

>>139
和暦は問題の本質じゃない。
Range("A1").Value = "2019年10月17日"
でも起きる。
2019/10/18(金) 06:33:06.46
これは最近追加された仕様なのか?
特に困る場面は思い浮かばないからこれでもいいけど
2019/10/18(金) 12:37:42.37
Dim anchor As HTMLAnchorElement
For Each anchor In objIE.document.getElementsByTagName(“select”)
If InStr(anchor.id, “○○○”) > 0 Then
debug.print anchor.id
anchor.select
Exit For
End If
Next

上記コードが動かず、debug.print anchor.idも
anchor.select機能しません
どこが間違ってますか?
143名無しさん@そうだ選挙にいこう
垢版 |
2019/10/18(金) 14:40:49.33
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

ご教示願います。
2016,2017,2018....各年ごとにシートを作り、
データを記録しています。
シート名は あかさたな2016,あかさたな2017,....と
年の数字以外は統一してます

今年のシート名から年の数字を数値として抜き出し、
-1,-2、前年、前々年の数字を参考データとして
表示出来るようにしたいのですが、

あかさたな(数式で前年)として参照する
シート名に数式はどのように書けば良いでしょうか
2019/10/18(金) 15:45:14.54
>>143
indirect("'あかさたな" & a1 & "'!a5")
a1に年度
a5が年度別シートの参照セル
2019/10/18(金) 16:20:26.37
>>142
自決
2019/10/18(金) 23:14:16.88
>>140
半端なタイミングって、、それは2003でも365と一緒だが
>>140
147名無しさん@そうだ選挙にいこう
垢版 |
2019/10/19(土) 00:50:44.34
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 VBAの質問

mA は分を表す数値 それを文字列に変換してsmAに代入しています。
0 や 5 の値は "00" "05" に表示させようと思いスイッチ文を入れていますが
出力される値は 0 や 05 のままです。
どうすればよろしいでしょうか?

shA = Str(hA)
smA = Str(mA)
shA = Str(hA)
smA = Str(mA)

Select Case smA
Case 0
smA = "00"
Case 5
smA = "05"
End Select

Select Case smB
Case "0"
smB = "00"
Case "5"
smB = "05"
End Select

MsgBox smA
148名無しさん@そうだ選挙にいこう
垢版 |
2019/10/19(土) 00:53:07.58
ごめんなさい
出力される値は 0 や 05 のままです。
↓正しくは
出力される値は 0 や 5 のままです。
2019/10/19(土) 01:43:59.15
>>147
strって何かわかってるか?
それcase 0にも5にも引っ掛からなくね?
150名無しさん@そうだ選挙にいこう
垢版 |
2019/10/19(土) 01:49:07.21
こういうことですか?これでもダメです。。

Select Case smA
Case "0"
smA = "00"
Case "5"
smA = "05"
End Select
2019/10/19(土) 02:11:17.49
>>150
なんで知らないのに調べもせず勘でやるんだよ…
" 0"と" 5"だろ…
152名無しさん@そうだ選挙にいこう
垢版 |
2019/10/19(土) 02:21:50.80
え。できた。ありがとう。

どういうこと?こういう型の挙動はVBA特有のものかしらん?

ほんとありがとう。
2019/10/19(土) 02:48:06.47
>>152
ヘルプをちゃんと読めばわかるがStr関数の仕様
符号の場所がプラスの時はスペースになって、マイナスの時と文字数が同じになるようにしてある
MS-BASIC全体で共通の仕様だから、VBAでもVB.netでもN88-BASIC(86)でも結果は同じ
2019/10/19(土) 02:49:34.31
なんで全く調べようとしないんじゃ
2019/10/19(土) 03:05:24.22
>>152
なんでVBAの挙動の話になるんだ
strが何をする関数か分かってないんじゃないのかと最初から言ってるのに、解答以外まともに見る気ないのかよ
156名無しさん@そうだ選挙にいこう
垢版 |
2019/10/19(土) 03:39:01.73
ありがとうございます。
2019/10/19(土) 06:03:48.45
VBAのstr関数は、そんな挙動するとは思わんやん・・・の代表例
文字列にしたければStrConv関数
ってか、ゼロフィルならformat(foo,"00")でよくね
158名無しさん@そうだ選挙にいこう
垢版 |
2019/10/19(土) 07:04:05.42
解決法が欲しいので、ここに質問しているわけで
調べろとかいうのは、むしろスレ違いでないですかね。

別にVBAをマスターしようとも思っているわけでもないし
みなそれぞれ、エクセルやVBAに対する求めているものが
違うわけなので。

皆が上級者になりたいわけでもない。
ちょっとした、わからないことを訊くってだけで、
何も間違ってないだろう。

マウンティング指向の上級者は、
何も答える必要なんてないから、ほっといてくれよ。

と、ちょっとだけ思った。
159名無しさん@そうだ選挙にいこう
垢版 |
2019/10/19(土) 07:08:40.99
>>157
そうだよね。変だよね。Cかやってたら「なんやこれ」っていう感じ
2019/10/19(土) 07:18:01.54
>>158
俺は15年Excel触り続けて来たし、多分君も同じ道を歩む事になる
早い内からヘルプを見る癖はつけたほうが良いのは間違いない

ってか、上級者になって・・お願い・・
2019/10/19(土) 07:21:31.94
>>157
スペース嫌ならCStr()使えばいい
> 0 や 5 の値は "00" "05" に表示させようと思い
ならFormat()使えと言うのは同意

それ以前に>>147はスレ違い
162名無しさん@そうだ選挙にいこう
垢版 |
2019/10/19(土) 08:24:29.68
>>161
どこらへんがスレ違いなのか、説明いただけますか?

>>160
エクセルが表計算の標準ソフトであり続ければ、VBAをきちんと学ぶ価値ありそうですね。
でも、かなりクセがあるので、、。
2019/10/19(土) 08:28:31.41
>説明いただけますか?
ゲラゲラ
2019/10/19(土) 08:28:42.72
>>162
Excel VBA 質問スレ Part63
https://mevius.5ch.net/test/read.cgi/tech/1568630099/
2019/10/19(土) 08:59:00.70
>>145
成仏してください
2019/10/19(土) 12:01:28.73
>>162
>>【4 VBAでの回答の可否】 VBAの質問

回答者がVBA使っていいかどうか
って欄に「VBAの質問です!」って返答で
会話の流れに違和感を抱かなかったなら
いったん脳を洗浄してきたほうがいいぞ

VBAの質問なのがわかってんなら
最初からVBA質問スレに来い
説明しなきゃスレ違いなのがわからんのかタコ助

正直な話、>>148->>158やり取りの流れで
君がクソなのはわかってるから
来てほしくもないんだけどさ
2019/10/19(土) 12:24:58.09
>来てほしくもないんだけどさ
ゲラゲラ
2019/10/19(土) 12:39:19.56
次からワッチョイつけようかねこのスレ
2019/10/19(土) 12:45:06.20
>>158
>>152で理屈を聞いとるじゃないか、そのわりに貰ったレスをまともに見てなさそうな感じの
2019/10/19(土) 12:48:14.40
ワッチョイは反対しない
他スレで見かけるタイプの荒らし書き込みも見かけるしなー
171名無しさん@そうだ選挙にいこう
垢版 |
2019/10/19(土) 15:41:06.34
>>162
VBAスレあったのね。それは失礼しました。このイカ野郎。
2019/10/19(土) 16:30:17.82
VBAスレはここより優しくないがね…
173名無しさん@そうだ選挙にいこう
垢版 |
2019/10/19(土) 17:26:34.17
Format(値, 書式)での型変換が一番スマートでしたね。
教えてくれた人、くそありがとうございます!
174名無しさん@そうだ選挙にいこう
垢版 |
2019/10/20(日) 00:08:55.33
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2010か2016か2019
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

クイックアクセスツールバーのカスタマイズで
印刷設定の拡大縮小設定での「シートを1ページに印刷」のボタンってないんでしょうか
いくら探しても見つかりません
2019/10/20(日) 09:54:01.44
あるかどうかは知らんけど、VBAが使えるなら、自分でボタンを作るとか・・。
176名無しさん@そうだ選挙にいこう
垢版 |
2019/10/21(月) 16:53:34.39
超初歩的な質問で申し訳ないのですが、
まず下のような表があります。

     設計値  実測値  進捗率
項目1   10    10    100
項目2   15    7    46.7
項目3   20    11    55

この全体の進捗率の%を円グラフで表し、実測値を
いじった際には連動して動くようにしたいのです。
今回は進捗率67.2%(未成率32.8%)でしょうか。

「実測値/設計値*100の円グラフ」(「進捗率の
平均値の円グラフ」でも同じ?)の作成方法を
知りたいです。

円グラフは内訳を表すもので、棒グラフ等の方が
適切ではという観点もあるとは思いますが、自分の
業界では慣習的に円グラフが使用されているので、
それに習いたいと考えております。

また進捗率の方を必ず円の真上から始まり、時計
周りに表示させるようにしたいです。

アドバイスよろしくお願いします。
2019/10/21(月) 18:09:53.05
>>176
これでいいの?
https://i.imgur.com/4CIFrgD.jpg
2019/10/21(月) 18:22:04.17
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

フィルタリング後、複数行を選択してフィルタリングしたまま別の列に貼り付けすることできますか?
例えばフィルタリングした結果が10行目、15行目、20行目の3行だったとします
A10、A15、A20を選択しコピーしてB10、B15、B20に貼り付けしたいですが(書式も含めて)
フィルタリングされたままB10を選択して貼り付けするとB10〜12行目に貼り付けられてしまいます
フィルタリングされたままB10、B15、B20を選択して貼り付けしようとしますと
「この操作は複数の選択範囲に対しては機能しません。」と表示され貼り付けできません
2019/10/21(月) 19:53:33.95
>>178
飛び飛びのセルの貼り付けは、選択の方法に関係なくVBA使わないと無理
2019/10/21(月) 20:17:37.24
>>179
需要ありそうな作業だと思うのにまさかのVBAでないとできないとは
ありがとうございました
2019/10/22(火) 12:54:49.75
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016 (2019でも大丈夫です)
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

複数の行・列のセル(結合はされていません)にまたがった
左下がりの斜線を引きたいのですが、

例えばB2〜D5(縦4セルx横3セル)の四角形に斜線を引くとき、現在は
[挿入]→[図]→[図形]→(直線選ぶ)→
→[E2の右上を慎重に選ぶ]→[B5の左下を慎重に選ぶ]→
→選択時にちょいズレしているため、1-3ドットずれた斜線が完成(´д`)

といった感じで、神経も使うし再調整も必要で、
20〜50から複数の斜線を引く必要があるファイルの作成なので
操作量が多く大変です。

B2〜D5をマウスで範囲選択→
→[なんかボタンを押す([Ctrl+?]のようなショートカットならとても素敵)]→
→E2の右上からB5の左下までビシッと斜線が作成される

みたいな感じにできませんでしょうか?
2019/10/22(火) 13:10:57.15
>>181
Altキーとかオプションでセル枠にフィットさせられる
2019/10/22(火) 15:21:11.63
>>181
vbaならこんな感じ

Sub draw_line()

Dim BeginX As Single ''始点(左からの距離)
Dim BeginY As Single ''始点(上からの距離)
Dim EndX As Single ''終点(左からの距離)
Dim EndY As Single ''終点(上からの距離)

BeginX = Cells(Selection(1).Row, Selection(1).Column).Left
BeginY = Cells(Selection(1).Row, Selection(1).Column).Top
EndX = Cells(Selection(Selection.Count).Row + 1, Selection(Selection.Count).Column + 1).Left
EndY = Cells(Selection(Selection.Count).Row + 1, Selection(Selection.Count).Column + 1).Top

With ActiveSheet.Shapes.AddLine(BeginX, BeginY, EndX, EndY).Line
.ForeColor.RGB = vbBlack '線の色
.Weight = 1 '線の太さ
End With

End Sub
184181
垢版 |
2019/10/22(火) 16:15:35.73
>>183
ありがとうございます!
頂いたのが右下がり線を引く構文だったので、
これを参考になんとか内容を噛み砕きつつ、始点と終点の部分をちょっといじったら
希望の動作になりました!
ショートカット登録もExcel側の機能であったので
これで楽になれそうです。

>>182
Σ
これはこれで知らないと今後苦労しそうだったので助かります。
ありがとうございました。
2019/10/23(水) 12:28:12.13
縦5×横10のマス目に五十音を入れていこうと思いますが、例えば「お」が入るとoffset(-5,1)して「か」の入力箇所に飛ぶようにするにはどうしたらいいでしょうか?
2019/10/23(水) 12:35:29.41
>>185
worksheet_change内でactivecellのrowを取得して表の5行目なら移動とか
2019/10/23(水) 12:49:01.80
横向きに入れたあと、縦向きにコピペ、は無理か
そう考えると、意外と面倒だな
とりあえずVBA使わないと無理だと思う
2019/10/23(水) 12:52:53.26
50文字並んだデータがあるなら
midで5文字づつとりだして
transposeで張り付け
を列をずらしながらやれば良い
2019/10/23(水) 12:59:15.68
自分で入力しなくても、ネットにいくらでも落ちてるのをインポートすればいい
190176
垢版 |
2019/10/23(水) 16:00:01.89
>>177
出来ました!こんな初歩的な質問に画像まで貼ってご丁寧に
説明して下さいましてありがとうございました!
191名無しさん@そうだ選挙にいこう
垢版 |
2019/10/23(水) 16:17:06.48
>>185
一般操作なら最初に5×10のセル選択しておいてEnterで入力してけばそういう動きになるけど、そういう事ではない?
2019/10/23(水) 16:22:35.21
にわかでごめん
2010のExcelデータを2019で編集できる?
2019で編集したデータを2010に戻せる?
ちなみに住所録のマクロ組むのだが
教えてください!
2019/10/23(水) 16:48:50.00
可能だけど、2019にあって2010に無い機能や構文は使えない。
2019/10/23(水) 16:55:56.57
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2019
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可(コピペだけできます)

1つのワークブックのみ、開いた時に表示サイズを固定できますか?
それと、同じく1つのワークブックのみリボンを非表示にしたいのですができますか?
2019/10/23(水) 21:35:14.30
>>294
表示サイズって何のこと?
ウィンドウサイズ?シートの拡大率?その他?
2019/10/23(水) 21:35:34.93
>>194じゃい!
2019/10/23(水) 22:42:28.71
出来ると思うけど、固定はWindowsAPIだろうな。
2019/10/24(木) 02:38:05.03
Range("A1").Copy Range("C2")

Range("A1").Copy
Range("C2").PasteSpecial xlPasteValues

Range("C2") = Range("A1")
199194
垢版 |
2019/10/24(木) 09:10:13.26
>>195

ウインドウのサイズです。
2019/10/25(金) 18:14:07.35
A列の最終行からAS列の最終行の関数を、AQ2と同じ値から1引いた行数分オートフィルでコピーをしたいのですが
↓の5行目と6行目の書き方を教えてください

IF Range("AQ2") > 1 then
Dim s As String
  i = Cells(Rows.Count, 1).End(xlUp).Row
s = Range("AQ2").Value + i -1
Range("A2:AN2").Select
Selection.AutoFill Destination:=Range("A2:AN" & s)
End If
2019/10/25(金) 18:25:36.43
型がおかしい気がする

Range("A2:AN" & s).formula =range("a2:an2").formula
202200
垢版 |
2019/10/25(金) 18:33:32.17
>>201

>>200
の5行目と6行目は2行目の関数になっておりますが、コピー元の関数は最終行になりますので
最終行の関数をオートフィルしたいです
2019/10/25(金) 18:36:00.24
>>202
どの範囲にオートフィル
最終行から下方向?
204200
垢版 |
2019/10/25(金) 19:00:33.58
>>203

そうです。下に向かってオートフィルでおねがいします
2019/10/25(金) 19:06:59.70
>>199
ウィンドウサイズの固定はVBAのWindowResizeイベント
リボン非表示は最小化ボタンの隣のボタン

>>200
最終行をコピーしたいのになんで2行目を指定してんの?
2 Dim s As long
5 Range("A" & i & ":AS" & i).Select
6 Selection.AutoFill Destination:=Range("A" & i & ":AS" & s)
2019/10/25(金) 19:35:30.87
>>204
オートフィルの範囲は必須なのですがどこまで
207200
垢版 |
2019/10/26(土) 09:02:02.36
>>205

ありがとうございます。
208名無しさん@そうだ選挙にいこう
垢版 |
2019/10/26(土) 12:08:01.81
>>200
なぜ3行目だけインデント?
変数iを型宣言しない理由?
AQ2に特別な意味を持たせるのに名前付けないの?
2019/10/26(土) 12:15:07.01
↓列Aの最終行の一つ下に関数を入れて、その関数をAD列の最終行までオートフィルをしたいのですが

A列の最終行の一つ下に関数を入力
r = Cells(Rows.Count, 1).End(xlUp).Row + 1
Range("A" & r) = "=INDEX(AD:AD,ROW(),1)"

A列の最終行の関数をAD列の最終行と同じ行までまでオートフィル
s = Cells(Rows.Count, 1).End(xlUp).Row
i = Cells(Rows.Count, 30).End(xlUp).Row
Range("A" & s).Select
Selection.AutoFill Destination:=Range("A" & s :"A" & i)

これだと、最終行の構文が違うので正しい書き方を教えてください。
2019/10/26(土) 12:16:16.14
>>209
Range("A" & s & ":A" & i)
2019/10/26(土) 12:22:46.94
全く考える気が無いようだが文の見直しぐらい考えなくても自分で出来るだろう…
212209
垢版 |
2019/10/26(土) 13:00:04.89
>>210
いつもありがとうございます!勉強になります
213名無しさん@そうだ選挙にいこう
垢版 |
2019/10/26(土) 13:35:16.47
>>211
応用が効かないんだろ
214sage
垢版 |
2019/10/26(土) 16:30:13.39
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2012
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

2行目以降からA列の最後の行まで、A列の値が変化するごとに、A〜DE列を"青と黄色で交互に塗りつぶすコードをお願いします


A2・・あ・・・青
A3・・あ・・・青
A4・・あ・・・青
A5・・い・・・黄
A6・・う・・・青
A7・・え・・・黄
A8・・え・・・黄
A9・・お・・・青
A10・お・・・青
2019/10/26(土) 17:04:56.37
>>214
コードというのはVBAの中身のことだから、VBA不可の時はコードも存在しない
ワークシートの数式では塗りつぶすことはできないから、条件付き書式でやるしかない
2019/10/26(土) 17:16:16.91
>>215
VBAの構文でおねがいします。こぴぺするくらいしかできません
217名無しさん@そうだ選挙にいこう
垢版 |
2019/10/26(土) 17:23:21.08
DF2へ↓を入れてオートフィル
IF(A1=A2,DF1,MAX(DF$1:DF1)+1)

【条件付き書式】
=ISODD($DF2)=TRUE 青背景に設定 適用先は$A:$DE
=ISODD($DF2)=FALSE 黄背景に設定 適用先は$A:$DE
2019/10/26(土) 17:26:52.45
数式やマクロ作成依頼スレと勘違いしてるやつだらけ
2019/10/26(土) 17:29:27.80
>>216
VBAにこだわるなら
Excel VBA 質問スレ Part63
https://mevius.5ch.net/test/read.cgi/tech/1568630099/
2019/10/26(土) 18:23:53.78
>>217
ありがとうございます
結果はA列が同じ値でも色が違ったり、違う値でも同じ色になってしまいます。
(A列はあらかじめ順番に並び替えてあります)

>>219
>>217 の方法にします
2019/10/26(土) 18:55:57.14
この方が単純じゃね?
DF2 TRUE
DF3 =IF(A2=A3,DF2,NOT(DF2))
以下オートフィル
条件付書式は>>217のISODD($DF2)のとこを$DF2にする
2019/10/26(土) 19:34:03.49
関数みたいな表現が流行ってるけど、発祥はエクセル?

Excel()
笑()
ヒロシ()
2019/10/26(土) 19:50:19.05
違う
もともとは(笑)とか(ただしイケメンに限る)みたいな定型文があって、それを省略してるだけ
何を省略したかは文脈から読み取る
2019/10/26(土) 21:02:51.53
マジレスカコワルイ
2019/10/26(土) 21:13:34.60
知らんかった・・・。
絶対間違って使ってるやついると思うわ。

↓これとか、何省略してんだよ。
https://rosie.5ch.net/test/read.cgi/kanto/1571000333/10
2019/10/26(土) 21:18:00.81
ツイッターとかだとネットスラングの使い方もうむちゃくちゃ
2019/10/26(土) 21:20:05.37
俺も使ってみようかな。
何の脈略もなく、ROW()とか。
2019/10/26(土) 21:31:13.91
「カッコ付きの○○」は
「文字通りの○○ではない」
という意味だったと思うけど、
「○○()」のもともとは、
(笑)の笑がない
→ ○○に呆れた
みたいな意味だったかと。
2019/10/26(土) 21:38:23.80
>>228
>>223の言うように「ただし〜」とかが省略されてカッコだけになった
2019/10/26(土) 21:40:49.39
>>225
> ↓これとか、何省略してんだよ。
お前、アホだろ()
2019/10/26(土) 21:46:22.17
文脈から読み取る練習。

お前、アホだろ()
    ↓
お前、アホだろ(天才)
2019/10/26(土) 21:50:39.92
まあ天才と紙一重って言うからねぇ()
2019/10/26(土) 21:51:56.48
少し違うな
「※ただしイケメンに限る」が※だけになり、
(白目)が()だけになった
2019/10/26(土) 21:53:31.34
失笑の意味は?
2019/10/26(土) 21:59:03.49
とりあえず文章とは逆の意味を込めて使われてたが、SNS見てると最近はなんでもかんでも付けてて最早意味がわからんな
2019/10/26(土) 22:21:15.30
>>221
できました!ありがとうございます
2019/10/27(日) 03:34:21.78
>>234
そうだ、それが流通している意味だった。
Webのどこかにそんなまとめがあった。
2019/10/28(月) 02:15:04.74
初心者的な質問だけどセルの右下の黒点をダブルクリックでオートフィルを使うとき
下のセルに文字や数字が入ってると機能しないタイプと文字が入ってても上書きしながらするタイプがあるけどこの切り替えってどうやるの?
A1に1、A2に1、A3に2と入れてA1の右下ダブルクリックだとオートフィル自体が動かないソフトと1,2,3と並ぶタイプのソフトと1,1,1と並ぶタイプのソフトの3種類に大別できるけど
2019/10/28(月) 03:48:25.79
>>238
https://whiteleia.com/%E3%82%A8%E3%82%AF%E3%82%BB%E3%83%AB-%E3%82%AA%E3%83%BC%E3%83%88%E3%83%95%E3%82%A3%E3%83%AB-%E3%81%A7%E3%81%8D%E3%81%AA%E3%81%84/
240名無しさん@そうだ選挙にいこう
垢版 |
2019/10/29(火) 23:49:36.52
あるブックのあるシートのある列を、別ブックの別シートにコピーしたところ、
セルの背景色が変わってしまいました。

不気味なんですが、どんな理由が考えられるでしょうか?
2019/10/30(水) 00:16:25.34
条件付いてたとか
2019/10/30(水) 00:37:45.29
色設定が違う
243名無しさん@そうだ選挙にいこう
垢版 |
2019/10/30(水) 00:56:34.19
テーマ色の設定が違うとか
2019/10/30(水) 08:22:54.05
そういえばテーマを有効活用してる奴なんているのか?
一時凝って色々やってみたけど面倒なだけだった
2019/10/30(水) 12:15:15.99
エクセルの拡大表示を80%くらいに設定して資料作るのってどういう意図があると思いますか
フォントが14で行が40とかになってるわりに小さく見えるなと思ったら縮小表示になってるんだ
見づらいなら100%から拡大すればいいと思うんだが、前の会社にもこういう作り方する人がいたから気になった
2019/10/30(水) 12:40:09.71
>>245
作るときに資料全体のバランスとかを見たい
2019/10/30(水) 13:59:02.43
方眼紙のマス目の微調整みたいなもんかと
248名無しさん@そうだ選挙にいこう
垢版 |
2019/10/30(水) 14:35:38.79
>>245
おそらく意図はありません。
文字の大きさを考えずに、全体を作って
画面に表示し切れないから、縮小表示にしたという事です

馬鹿かと思われますか?
ええ馬鹿なんですよ
249名無しさん@そうだ選挙にいこう
垢版 |
2019/10/30(水) 17:03:56.47
質問です、お願いします。

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

データの統合なのですが、
ブック1:上半期(1月〜9月まで)
ブック2:下半期(10月〜12月まで)
ブック3:統合

統合すると、表示が下半期が最初になります。

10月 11月 12月 1月 2月〜〜〜 

統合元の順番を変えればいける気もするのですが変えれません。
どうすれば上期から表示できますか?
2019/10/30(水) 17:38:20.06
>>246-248
それによって何かが便利になるわけでもなさそうですね
自分にはちょっと理解できない使い方のようです…
251名無しさん@そうだ選挙にいこう
垢版 |
2019/10/30(水) 18:12:07.29
>>249
統合って集計でしょう?
それなのに各月が表示されるって
まさか、列の項目名が月なんですか?

行か列の項目名が同じのを集計するのが統合なので
それ間違った使い方ですよ

別の項目名だから別の列に並ぶという結果にはなりますが集計になっていません

それを月順にソートしたらどうでしょうか
ただし全角の数字ですと
1月 10月 11月 12月 2月...
という風に並びますので
半角の数字にしないといけませんが
2019/10/30(水) 19:26:56.02
>>250
謎のでかフォント縮小表示は事務系部署あるある
2019/10/30(水) 19:41:34.42
>>249
表示が下半期が最初になります
と言われても、シートの並びなのか、列の問題なのか行の問題なのかがわからないので回答は無理。
それよりも、「上半期」「下半期」と言いながら、片や9か月間、片や3か月間というのが気になる。
2019/10/30(水) 21:06:44.86
印刷は縮小の方がきれい
罫線も目立たずスッキリ
2019/10/30(水) 21:26:31.61
vbaでIE動かす時、ダブルクリックする方法ありますか?
2019/10/30(水) 21:38:59.20
あります
2019/10/30(水) 22:06:42.33
あるけど、ダブルクリックじゃないと発動しないようなものなんかあったっけ?
2019/10/30(水) 22:49:16.54
>>257
それがあるんです
詳細ないとわからない感じですか?
2019/10/30(水) 23:14:27.14
ブラウザゲーかな
それでもダブルクリックってあんまり聞いたことないけど
2019/10/30(水) 23:53:51.37
>>258
シングルクリックだと、普通は getElementByName("ボタン")(0).click みたいな感じでやるんだけど、
ダブルだとそんなやり方じゃないよなぁ・・。
WindowsAPIのSetCursorPosとmouse_eventの組み合わせなら確実にいけると思うけど、
そもそもどうやってお目当ての座標を調べるのかっていう・・。
2019/10/30(水) 23:57:30.68
あ、ウインドウハンドルが取れるならSendMessageでいけるか。
2019/10/31(木) 00:14:27.36
>>245
A4横の資料作るのに大体75%くらいの表示で作ってる
率のとこクリックして7って打ってエンターで変わるから80より使いやすくて
100よりは全体が見えて作りやすいんだよね
2019/10/31(木) 00:21:49.59
>>262
全体の見え方じゃなくてフォントサイズでかくして縮小印刷するという無意味な行為の話をしてるんだぞ
2019/10/31(木) 00:32:29.15
>>>263
それが無意味とは限らないんだな
画面上では#####なのに印刷すると数字になったり、その逆になる現象を回避できる
こればかりは印刷プレビューでもわからないからやっかい
2019/10/31(木) 00:38:09.38
>>264
シートが縮小される→見づらいからフォントサイズを上げる、という作り方してる人が世の中にはたくさんいるんだ
2019/10/31(木) 00:56:55.07
>>263
縮小すると相対的に分解能が上がる
意図しない印刷結果にもなりにくい
罫線が細くきれいにかける
見やすい表になる
2019/10/31(木) 01:02:03.28
質問お願いいたします
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel 2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 出来る限り無しでお願いします
【5 その他】 問題解決(ソート)のために別シートを作成するとかでも問題ありません

【質問内容】
オートフィルタをよく活用しているのですが
たまに「(上)S+、S、S-、A+、A、A-、B+、B、B-、…、D+、D、D-(下)」などでソートをかけたい場合があります
こういったカスタムなソートに対応できる方法があれば教えてください
2019/10/31(木) 01:10:19.93
>>267に関連して後出しにならないようにもう一つ質問させといてください

例えば数値100を入力してデータとしてこの値を保ちつつ表示をS+とかに出来ますか?
ソート時には入力した100を参照するというのを前提にした質問です
269名無しさん@そうだ選挙にいこう
垢版 |
2019/10/31(木) 07:25:29.10
>>249
普通は1月から12月まで並べた表にデータ入れますよね
それが分かりやすいし、統合の必要も無いです
無理にブックを分ける意味は分かりません。
無意味と思います
270名無しさん@そうだ選挙にいこう
垢版 |
2019/10/31(木) 07:27:51.92
>>249
仮に各月毎の表が別途必要なら
その表を参照する年間表を作れ済む話ですね
271名無しさん@そうだ選挙にいこう
垢版 |
2019/10/31(木) 08:13:56.19
>>266
綺麗かどうかが重要な表なら
セルの罫線使うのは無理かと思います。
画面と印刷結果で線の太さが違うこともあるからです

そこまで追求したいなら、太さをポイントで指定出来るオートシェイプの罫線で
ALTキーを押しながら引けば、セル枠に吸着した罫線引けますから、縮小率がどうとかも悩まずに出来ますよ
272名無しさん@そうだ選挙にいこう
垢版 |
2019/10/31(木) 08:24:27.85
>>267
https://www.becoolusers.com/excel/sort-custom-lists.html
273249
垢版 |
2019/10/31(木) 08:49:38.80
>>251,253,269
FOM?だったかな?の、問題集にこういう問題があるんです。

1月 2月 3月 ← 行 ですね。
シートは、最初が上半期、2つ目に下半期です。
きちんと6か月区切りでないのは私も不思議に思ったのですが、こういう問題だったので…
2019/10/31(木) 09:15:08.19
>>271
そこまで厳密にやりたいわけじゃなくて、デフォルトの罫線が全体的に太すぎるから手間をかけずに細くしたいだけだろ
点線を細い罫線の代わりに使う裏技もあるけど、一部のプリンターとの相性もあるから
2019/10/31(木) 11:39:19.84
>>273
”○月”という文字データで並べ替えをすれば一目瞭然です。
エクセルのシートに 1月 と入れて、下にフィルコピーで12月までデータをつくり、
並べ替えをしてみればわかります。
○の部分が全角数字、半角数字どちらも同じになりました。
○の部分を2桁に揃えれば、01,02,・・・09,10,11,12の順になるでしょう。
または、○の部分の数字だけ取り出して並べ替えをすれば1〜12できれいに並びます。
276名無しさん@そうだ選挙にいこう
垢版 |
2019/10/31(木) 12:12:36.30
>>273
そのFOM?の問題文の作者が統合を誤解してます
277名無しさん@そうだ選挙にいこう
垢版 |
2019/10/31(木) 12:15:16.80
>>275
全角でも並びますか?
数値だけセルに入れて、書式に
#”月“を設定する方が確実かなと
278名無しさん@そうだ選挙にいこう
垢版 |
2019/10/31(木) 12:22:39.54
>>274
希望する太さを倍率変えて実現するのは、かえって面倒ではないですか?
しかも、それをしても印刷すると太さ変わります
それならオートシェイプ使うべきでしょう?

試しにセルの罫線とオートシェイプの線を引いてみて
印刷した場合の太さの変化を見てください
2019/10/31(木) 15:02:41.67
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

degree signを楽に挿入したいのですが、Alt+0176というショートカットはテンキーがないと使えないんですか?
テンキー無しでできるショートカットはないですか?
Times new roman で℃を楽に挿入したいです
2019/10/31(木) 15:07:23.79
もしかして「ど」で変換して出てくる「°」がdegree signか?そうすれば辞書に「°C」を登録してどで変換できるようにしておけば楽に出せるのではないか
自決
2019/10/31(木) 16:58:24.15
質問です。仕事で発注書を元に請求書を作ってるんですど、発注書の数字のほとんどを手打ちで会社の作った請求書のテンプレに打つといった感じです。

数字が大部分占めるので見直しが大変で、そこでハンドスキャナのOCR機能を使って発注書の品名や数字をエクセルに一括コピーなんてことって出来ますか?
2019/10/31(木) 17:33:45.02
>>272
ありがとうございます
こんな簡単な方法があったとは
大変助かりました
2019/10/31(木) 18:05:13.72
>>279
280さん語られてるようにUnicodeに対応した日本語入力ソフト(IME)なら出来ますよ
自分はGoogle日本語入力を使っています

「ど」で変換して表示されるものは全角の「°」なのでネットでdegree signで検索して「&#32;&#186;」を見つけて辞書登録してみて
2019/10/31(木) 18:07:02.30
文字化けさせてしまいました
この板は非対応なのかな

もう一度だけ入力させてください
&#32;&#186;
2019/10/31(木) 18:08:23.31
>>283-284 誠に失礼しました
この板はだめなんですね
スレ汚しすみませんでした
286275
垢版 |
2019/10/31(木) 19:03:48.95
>>277
全角は文字だから無理でしょう。"月"を含むセルデータから作業列に"月"を抜く計算式を設定し、
その計算式の中に数値化の関数を組み合わせれば、数値としての1〜12が得られるはず。
"月"を抜くのはLEFT(A1,LEN(A1)-1)  A1に○月のデータがあると仮定
数値化するのはVALUE関数を利用するので、組み合わせれば =VALUE(LEFT(A1,LEN(A1)-1))

月を表す数値だけ入力し、セルの書式設定で○月と表示する方がいいです。
ただし、数字部分が以前の全角から半角に変わるので見た目は変わります。
プロポーショナルフォントを使うことで少し改善できるかも。
2019/10/31(木) 19:41:03.74
>>281
OCRの精度次第じゃね
2019/10/31(木) 19:42:01.68
並べ替える時に数字を数値として扱うかどうかの選択が出来たはずだが
289279
垢版 |
2019/10/31(木) 20:05:13.85
>>283
ありがとうございます!
2019/10/31(木) 20:38:33.69
&amp;deg;
&deg;
291名無しさん@そうだ選挙にいこう
垢版 |
2019/10/31(木) 23:30:04.84
vlookupについて質問です。
同じ行の値ではなく、一行下の値を返す方法をおしえてください。
2019/10/31(木) 23:36:04.25
offset関数と組み合わせる。
2019/11/01(金) 10:32:40.26
>>291
普通に+1すればOK
http://imgur.com/fiDMDyk.png
2019/11/01(金) 14:33:50.56
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 初歩の初歩レベルです
【4 VBAでの回答の可否】 可

A1〜E5に1.2.3という数字がランダムに入力されているとして
シート内に作る【1】というボタンを押すと1が入力されたセルの背景色が変更される
もう1度押すと背景色が消える
というボタンを作りたいです
お知恵をお貸し頂ければと思います
2019/11/01(金) 16:21:00.88
ボタン作るならVBA必須だけどボタン替わりにどこかのセルを色付き、無色とかリストボックスにしてもいいなら条件付き書式でいける
2019/11/01(金) 18:07:20.90
>>295
ありがとうございます
よければどの様な条件付き書式か教えて下さい
2019/11/01(金) 19:50:18.37
やり方が何通りかあるので、一番トリッキーな方法を提示したやつが優勝。

普通にやるなら、こうだろうな。

Range("A1:E5").Interior.Color = xlNone

For r = 1 To 5
 For c = 1 To 5
  If Mid(Me.CommandButton1.Caption, 2, 1) = Cells(r, c).Value Then Cells(r, c).Interior.Color = vbRed
 Next
Next
2019/11/01(金) 19:56:15.45
Valueじゃダメだわ。Textだ。

Range("A1:E5").Interior.Color = xlNone

For r = 1 To 5
For c = 1 To 5
If Mid(Me.CommandButton1.Caption, 2, 1) = Cells(r, c).Text Then Cells(r, c).Interior.Color = vbRed
Next
Next
2019/11/01(金) 20:01:00.99
あ、もう1回押したら消すのか。
それは、そこだけ消すのか全部消すのかによる。
2019/11/01(金) 20:15:27.11
>>299
質問は簡略に書きましたが、実際は
S1:AJ13のセル内に
【1--】【1-2】【-02】【10-】【-0-】【--2】
という6種類の文字が入っていて
種類ごとにボタンを6個作りボタンを押すたびにセルに色を付ける〜消す
が出来ればなと思った次第です
イメージとしては
ttp://kanosora.main.jp/keirinapp/
右下の?を押した後に出てくる画面で数字を押すと該当のところに色が付く感じです
2019/11/01(金) 20:23:51.91
トリッキーなんて自己満足なものを他人に出すとか迷惑でしかないわ
302名無しさん@そうだ選挙にいこう
垢版 |
2019/11/01(金) 20:42:55.09
>>300
読解力があまりないんで>>294の簡易版で
Sub test()
Dim rng As Range, i As Variant, frg As Long
Set rng = Range("A1:E5")

For Each i In rng
If i.Interior.Color = RGB(153, 204, 255) Then
frg = 1
End If
Next i

For Each i In rng
If frg = 1 Then
i.Interior.Pattern = xlNone
ElseIf i.Value = 1 Then
i.Interior.Color = RGB(153, 204, 255)
End If
Next i

End Sub
2019/11/01(金) 20:54:13.32
>>302
ありがとうございます
内容を修正してちょっとやってみます
304名無しさん@そうだ選挙にいこう
垢版 |
2019/11/02(土) 15:17:57.56
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 不可
何十個かある数字データの異常値を除いた平均値を求めたいです。
TRIMMEANを使おうと思ったのですが、連続したセルや範囲しかしていできず困っています。
飛び石の様になってる離れたセル(A2,A5,A12,A19など)を指定するにはどうしたらいいですか?
よろしくお願いします。
305名無しさん@そうだ選挙にいこう
垢版 |
2019/11/02(土) 15:32:21.43
>>304
状況がよく分かりません
A列に数値データ以外が入っていても無視するから
飛び飛びを指定する意味は無いのでは

それとも何か余計な値が入っているのですか?
306名無しさん@そうだ選挙にいこう
垢版 |
2019/11/02(土) 15:48:08.86
>>309
一応
=TRIMMEAN((A2,A5,A12,A19),0.1)
とかにすれば良いかとはおもいますけど
範囲に余計な数値がある表ってきちんと作っていない気がします。
307名無しさん@そうだ選挙にいこう
垢版 |
2019/11/02(土) 15:59:08.62
>>305
余計な数値が入っています。
A列にいくつかデータが入っていて、その中から数字を選びたいのです。
2019/11/02(土) 16:28:11.14
>>307
選ぶ条件は?
2019/11/02(土) 16:42:50.44
おまえら 何が異常なのかそれがわかんないとできないだろ 
俺だったらフラグ立ててAVERAGEIFだな
2019/11/02(土) 17:03:07.55
>>309
TRIMMEAN使うってことは平均から極端に離れた数値を除外したいってことだろ
2019/11/02(土) 20:25:52.04
余計な「数値」で良かったな。
中には、数値を入れる前提の表に、文字入れちゃうバカいるからな。
いちいちIsError、IsNumericでチェックするの面倒くさい。
312名無しさん@そうだ選挙にいこう
垢版 |
2019/11/02(土) 22:51:04.77
入力規制をかけとけよ
2019/11/02(土) 23:07:27.88
別のブックに10×3の範囲をコピーするとき、

Workbooks(f).ActiveSheet.Range("a8").Offset(0, j - 1).Resize(10, 3).Value = _
Range(Cells(3, i), Cells(12, i + 2)).Value

これならうまくコピーできるけど、

Workbooks(f).ActiveSheet.Range(Cells(8, i + 3), Cells(17, i + 5)).Value = _
Range(Cells(3, i), Cells(12, i + 2)).Value

こう書くと実行時エラー1004 アプリケーション定義またはオブジェクト定義のエラーになる。
何故に?
2019/11/02(土) 23:13:15.37
>>313
こんな感じのようなキモする

Workbooks(f).ActiveSheet.Range("a8").Offset(0, j - 1).Resize(10, 3).Value = _
Workbooks(f).ActiveSheet.Range(Cells(3, i), Cells(12, i + 2)).Value

Workbooks(f).ActiveSheet.Range(Cells(8, i + 3), Cells(17, i + 5)).Value = _
Workbooks(f).ActiveSheet.Range(Cells(3, i), Cells(12, i + 2)).Value

ただ、setした方が見やすい
315名無しさん@そうだ選挙にいこう
垢版 |
2019/11/02(土) 23:25:48.55
>>314
別のブックにコピーだから、両方にActiveSheetでは駄目だろう
2019/11/02(土) 23:30:09.95
>>314
コピー元は今開いているActiveWorkBook
コピー先は裏に隠れてるWorkBook(f)なんだけど
異なるブック間ではコピー先はrange(cells(行,列),cells(行,列))での指定は出来ない?
それともCopyメソッド使わないとダメとか?
2019/11/02(土) 23:32:55.43
>>315
見てなかった、スマン
こんな感じか
Workbooks(f).ActiveSheet.Range("a8").Offset(0, j - 1).Resize(10, 3).Value = _
Workbooks(g).Sheets(1).Range(Cells(3, i), Cells(12, i + 2)).Value

Workbooks(f).ActiveSheet.Range(Cells(8, i + 3), Cells(17, i + 5)).Value = _
Workbooks(g).Sheets(1).Range(Cells(3, i), Cells(12, i + 2)).Value

>>316
分からない。ってか、iとjに適当な数値いれて
以下でエラーにならなかった
Range(Cells(8, i + 3), Cells(17, i + 5)).Value = _
Range(Cells(3, i), Cells(12, i + 2)).Value

iかjの方がおかしいような気がする
2019/11/02(土) 23:37:44.75
>>313
下はコピー先のCellsにどこのシートのCellsか指定が無いから
2019/11/02(土) 23:39:11.51
Cellsの前にもWorkbooks(g).Sheets(1)を書いておかないと危ないよ。
でも実際書くと長くなるから、普通はWithかSetするんだけど。
2019/11/03(日) 00:33:24.19
>>319
その通りでした。お騒がせしました。

With wb.ActiveSheet
.Range(.Cells(8, j), .Cells(17, j + 2)).Value = _
Range(Cells(3, i), Cells(12, i + 2)).Value
End With
2019/11/03(日) 00:35:15.32
>>319
コピー先のrangeの中のcellsもworkbooks(f).activesheet.cells(行、列)としなければならないのですね。
2019/11/03(日) 02:19:42.55
>>321
多分シートモジュールに書いてるんだと思うが、例えばSheet1のモジュールでシート指定を省略したらSheet1のセルという意味になる
その場合Activesheetが同じシートでないなら、違うシートのrangeの中に違うシートのcellsを指定してる状態だぞ
2019/11/03(日) 07:40:05.39
こういう処理が多い時はCellsの指定を忘れがちなので
Function RangeEx(S As Worksheet, Top As Integer, Left As Variant, Bottom As Integer, Right As Variant) As Range
With S
Set RangeEx = .Range(.Cells(Top, Left), .Cells(Bottom , Right ))
End With
End Function
みたいな関数を作ってたな
2019/11/03(日) 07:40:32.37
そこまで予想できるってすげぇなw
325名無しさん@そうだ選挙にいこう
垢版 |
2019/11/03(日) 09:48:19.41
>>307
演算の対象の範囲に対象外の数値がある事が理解出来ません。
それを除外するために1セルずつ指定するのも変ですね
それが仮に異常値なら、それも含めて対象にするべきです
Trimmean関数の意味を理解されていますか?
2019/11/03(日) 19:04:10.32
セルの数値に比例してセルの高さを自動で変更する事って出来ますか?
2019/11/03(日) 19:25:11.28
>>326
VBA必須
2019/11/03(日) 19:28:18.99
みんなどんな時にそれ必要なの?
って言うような、考えもつかないような使い方してて、
勉強になります
2019/11/03(日) 20:50:54.60
逆だ
使い方を考え出してるのではなく必要になって使うはめになるんだ
2019/11/03(日) 21:35:27.27
俺だって知るか!
上司命令で、仕方なく変な仕様の表を作ってんだ!
ってことだと思うよ。
2019/11/04(月) 08:07:36.62
それが大半だと思う
2019/11/04(月) 10:55:43.42
EXCELでセンスのない表を作らせる上司をどうにかするスレに変えてもいいんじゃないの。
333名無しさん@そうだ選挙にいこう
垢版 |
2019/11/04(月) 11:56:09.73
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可・否

毎日売上表から売上数字を日付のついてる横並びのセルに記入するのですが
マクロ組んでボタンをつけて、ボタン押すと日付のついてるセルに数字が入るようにできないでしょうか?
日付は横並びの一行に表になっています。
2019/11/04(月) 13:13:20.63
>>333
売上表がエクセルで読み込みできるファイルなら簡単
2019/11/04(月) 13:21:38.91
>>333
売り上げ数字の形式は?
336名無しさん@そうだ選挙にいこう
垢版 |
2019/11/04(月) 14:00:09.16
>>334
売上表の下に横一行に一ヶ月分の日付入りのカレンダーをつくっています。
そのカレンダーに毎日売上表の数字を入れています。

>>335
すいません、数字の形式というのは?
337名無しさん@そうだ選挙にいこう
垢版 |
2019/11/04(月) 15:04:36.26
売上表部分と、カレンダー部分が同じシートに上下に分かれてるってことかな
売上表部分は毎日違う数字を上書きするんだけど、
その日のデータを入れる前に、前日のデータはカレンダー部分にコピーしてるってこと?
2019/11/04(月) 15:21:04.86
>>332
例えば文字配置はオール真ん中寄せの結合大好き、日付は何故か.区切り
数字の後に円とか単位を付けるのはいいけど、勿論書式設定ではなくそのまま文字列で集計するのに一手間も二手間も必要とかかな?
2019/11/04(月) 15:24:53.59
>>336
何のファイルでどんな売上表でどういう風に入力されているのか
340名無しさん@そうだ選挙にいこう
垢版 |
2019/11/04(月) 15:36:10.53
>>337
そうです。支店の売上を会社が使ってるソフトからコピーして Excelの売上表に貼り付けてます。
その売上表の合計だけを横並びのカレンダーに毎日の売上をコピペしてるという感じです。
2019/11/04(月) 15:43:05.26
売上表側に日付があれば可能
2019/11/04(月) 15:44:04.00
いつの売上分かがわかる日付って意味な
343名無しさん@そうだ選挙にいこう
垢版 |
2019/11/04(月) 16:31:32.75
>>340
VBA使わないと無理かな
関数だけでできるのは、現時点で売上表に入力されている数値をカレンダー側の対応する場所に表示するまで
その値を確定するには関数の結果を「値としてコピー」するんだけど、そういうのは関数じゃ無理
2019/11/04(月) 16:57:44.45
>>343
最初からマクロでと書かれているが
2019/11/04(月) 20:28:55.43
>>336
新入りの従業員に>>333の仕事を説明するような感じで
仕様を説明しないと、誰も対応できないと思う。
関係するブックはひとつ?ふたつ?
シート名は?
転記する売り上げが記録されているセル位置は固定?それとも日付の右隣など可変?
転記する売り上げの数字は毎日1個?それとも内訳も?
いろいろありますよ。

別の考え方としては、入力したいブック(シート)を開いたら、当日の欄(セル)だけ入力可能で
他のセルはセルのロック+シートの保護設定なんてこともできます。
2019/11/04(月) 21:30:36.20
出来るかという質問にはもう>>341で答え出てるやん
2019/11/04(月) 21:42:53.93
余白を設定する機能があるのに、何故A列を余白にしたがりますか?
2019/11/04(月) 21:47:42.46
端っこの罫線見えないから
349名無しさん@そうだ選挙にいこう
垢版 |
2019/11/04(月) 21:52:23.10
>>347
俺もたまにやるけど隙間が欲しいからとしか言えない
目盛線を非表示にしてる時は少し余白があると見栄えがいい
2019/11/04(月) 21:54:05.52
>347
微調整がめんどくさい
2019/11/04(月) 21:57:58.61
>>347
印刷時の余白とか関係なく画面上で左の罫線が見づらいのが自分の中でしっくりこない
ただそれだけ
352名無しさん@そうだ選挙にいこう
垢版 |
2019/11/04(月) 22:18:58.13
少し処理の長いマクロの時は何もないA列に処理中と終了後の色付けをしてる
2019/11/04(月) 22:29:24.77
そんなことしたらますます長くなるぞ
2019/11/04(月) 22:29:58.72
罫線の引き忘れ防止とか
2019/11/05(火) 00:04:27.25
A列はあける派
余白も簡単に調整できるし、端っこの罫線も見やすいし、マクロ入れてると後から行挿入したくない場合が多いけど、そんなときにも作業列にしたり、なにかと使える。
2019/11/05(火) 00:24:09.93
余白の調整はページ設定を使った方がセンチ単位で指定できて簡単だろ
セルの幅は単位が独特だしExcelのバージョンごとに初期値が違うから面倒
357名無しさん@そうだ選挙にいこう
垢版 |
2019/11/05(火) 07:37:03.89
>>352
VBA Editorは使わないの?
2019/11/05(火) 08:24:41.50
>>356
> 余白の調整はページ設定を使った方がセンチ単位で指定できて簡単だろ
俺もそう思うがA列空ける派の人はGUIでやりたいんでしょ
罫線といい見栄えにこだわる人なんだろうね
359名無しさん@そうだ選挙にいこう
垢版 |
2019/11/05(火) 08:43:02.21
画面上で完結して印刷しないんじゃないの
2019/11/05(火) 11:04:03.94
検索痴漢で「次を検索」を押下するときに検索結果がないときの「見つかりません」ポップアップ出ないのなんで
361名無しさん@そうだ選挙にいこう
垢版 |
2019/11/05(火) 12:40:33.03
>>356
画面だけの見栄えに拘るなら
シートじゃなくてフォームで作るべきじゃないか
そこを敢えてシートに拘る理由が有れば知りたい
362名無しさん@そうだ選挙にいこう
垢版 |
2019/11/05(火) 12:44:31.48
エクセルに早くレポート機能が実装されますように
シートでごまかすの辛すぎ
363名無しさん@そうだ選挙にいこう
垢版 |
2019/11/05(火) 12:48:39.83
>>360
痴漢?
まて、それはニセモノでは?
364名無しさん@そうだ選挙にいこう
垢版 |
2019/11/05(火) 13:20:20.28
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

Excelのファイルを開く際に、毎回最後に開いたウィンドウのサイズ(最大化を除く)で
開かれてしまい困っています。

常に最大化で開きたいので、プロパティ→実行時の大きさ「最大化」としても反映されません。

https://answers.microsoft.com/ja-jp/msoffice/forum/msoffice_excel-mso_other/excel2010%e5%ae%9f%e8%a1%8c%e6%99%82%e3%81%ae/d68cf32d-0d0d-40a2-b37d-610560520e63

Googleで検索した結果、Microsoftコミュニティに同様の症状での質問(上記URL)があり、
それによるとC:\Users\<ユーザー>\AppData\Roaming\Microsoft\Excel\XLSTART の中にある
「PERSONAL.XLSB」というファイルを削除したところ改善されたとのことですが、自分のPC
には該当ファイルがありませんでした(隠しファイル含む)。

レジストリ情報の変更については、あまり慣れておらずまた一応会社のPCなので避けたいですが
それしか解決策がないのであれば試みてみようと思います。

アドバイスよろしくお願いします。
365名無しさん@そうだ選挙にいこう
垢版 |
2019/11/05(火) 14:46:09.31
>>360
1個合致するセルがあって、1周回って同じセルがヒットしてんじゃないの
2019/11/05(火) 19:58:48.22
>>364
会社のPCならレジストリ弄ったらだめだと思うよ
367名無しさん@そうだ選挙にいこう
垢版 |
2019/11/05(火) 20:00:47.16
>>364

https://answers.microsoft.com/ja-jp/msoffice/forum/msoffice_excel-mso_winother-mso_2016/excel/eeb4d807-0bb6-4ea6-8a7f-388864f7eac1

リンク先で紹介されてるフリーソフトを会社のPCにインストール出来るかどうか厳しいかもですが
確実性が高いいのはコレ
2019/11/05(火) 22:05:14.35
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

A列の文字列がD列に用意しておいたリスト内の文字列に部分一致で含まれるか検索して
見つかった場合にはそのリスト内の文字列を、見つからなかった場合には空白をB列に表示したいです

Aに書かれた文字列に余計な言葉が含まれるため端的に書かれたD列のリストの文字列を
Bに表示することでカテゴリのようなものを併記した表を作成したいのです
例えば、

A2=あいうABC123
A3=DEFあいう
A4=あいうえお

などと書かれていてD列には

D2=ABC
D3=DEF
D4=GHI ... とリストを作り、

B列にそれぞれ B2=ABC B3=DEF B4=空白 と返すにはどうすべきでしょうか
D列のリストには今後も文字列を追加する予定です
2019/11/05(火) 22:11:23.81
>>368
1つの文字列がDの複数の文字列にマッチすることはない前提でいいのか?
370291
垢版 |
2019/11/05(火) 22:15:33.15
>>293
vlookupだとそういうの無理なんですね
vlookupってホント糞だわ
2019/11/05(火) 22:20:15.77
>>370
そんな糞関数捨てた方がいいよ
xlookup使えるならいいけど
372368
垢版 |
2019/11/05(火) 23:05:25.08
>>369
ABCDEF123にように複数マッチする場合があります
Dの文字列の行数が若い方が表示されれば大丈夫です
2019/11/05(火) 23:14:07.26
>>372
リストを列ではなく行に入れないと無理っぽいがそれは?
例えばD2〜D4に入れるのをやめてD1〜F1に入れる、又はどっか違う場所に作業列を作る
2019/11/05(火) 23:44:00.76
>>368
http://imgur.com/7TWEtHT.png
2019/11/06(水) 00:14:36.950
すみません、グーグルスプレッドのスレを探したけど分からなくてここで質問させてください

何故か最近、セルの中でエンターを押すと行の幅が大きくなるようになりました
これの原因、ならないようにする方法はありますか?

例 A1に「合計」と書いてエンターを押すと自動でクイッと行の幅がデフォルトの2倍くらいになります
376368
垢版 |
2019/11/06(水) 00:31:41.51
>>373
まだ表を組んでいる段階なので作りやすい方を採れます
行に入れるというのはD以降の列で1行目にリストを組んでいき
該当する文字列が存在するかをD2、E2、F2...と判定してB2に表示するということでしょうか
作業列を作るのも問題ありませんので強いて言えば手入れをしやすい方が助かります


>>374
確認してきましたがB列に一度現れた文字列がそれ以降表示されませんでした
提示した例と表の説明が不十分でした、すみません

A2=あいうABC123
A3=DEFあいう
A4=あいうえお
A5=ABC12345
A6=あいうGHI
...

のようにA列には500行程度文字列が記入されています
その文字列から必要な文字列だけを抜き出したカテゴリのようなものをB列に表示してと考えています
ノートPC→PC
デスクトップPC→PC
モニター(24インチ)→モニター
2019/11/06(水) 00:42:33.13
>>376
じゃあリストがD1〜F1にあるとして、
A2 =IFERROR(INDIRECT(ADDRESS(1,MIN(D2:F2))),"")
これを下へコピペ
D2 =IF(ISERROR(FIND(D$1,$A2)),"",COLUMN())
これをリストの範囲にコピペ
2019/11/06(水) 00:50:57.54
まちがえた
上の数式はA2じゃなくてB2に入れる
2019/11/06(水) 01:01:53.27
手入れしにくいか、、
D1が空欄じゃないとして
B2=IFERROR(INDEX(D:D,AGGREGATE(15,6,INDEX(ROW(D$2:INDEX(D:D,COUNTA(D:D)))/NOT(ISERROR(FIND(D$2:INDEX(D:D,COUNTA(D:D)),A2))),),1)),"")
380368
垢版 |
2019/11/06(水) 01:36:38.29
>>377 >>379
それぞれ確認してきました
無事に解決しました、ありがとうございました
2019/11/06(水) 06:30:09.32
>>376
これだとPC用モニターを買った場合どうなるの?
2019/11/06(水) 07:13:40.83
>>371
そんな使い辛いのに未だに大人気だからな
やっぱり素人さんには一つの関数で完結するのが丁度いいということか
383名無しさん@そうだ選挙にいこう
垢版 |
2019/11/06(水) 07:25:09.36
>>381
>>372
2019/11/06(水) 07:40:32.05
VLOOKUP→使える
INDEX MATCH→使わない!面倒くさい!VLOOKUP使え!
こういう馬鹿上司がいるとかいないとか
2019/11/06(水) 12:38:02.14
>>384
えっ!スピル?そんな邪道な手段など使うな!ちゃんとコピペしろ!いや、一行ずつ手入力しろ!
こういうクソバカ老害も出てくるんだろうな
386名無しさん@そうだ選挙にいこう
垢版 |
2019/11/06(水) 12:48:07.41
>>382
そんな時はユーザー定義関数作って煙に巻く
2019/11/06(水) 13:30:15.94
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
AND関数とINDIRECT関数って同時に使えないんですか?
両方使って条件作ったのですが機能しません。
2019/11/06(水) 13:47:37.03
その式を張るべし
2019/11/06(水) 15:20:39.080
どなたか>>375これ分かる人がいればお願いします・・・
2019/11/06(水) 17:52:55.96
>>389
”ヤフー知恵袋”などの質問投稿サイトの方がいいような。
2019/11/06(水) 17:57:36.29
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

グラフの横軸の範囲を名前を用いて可変にしようと考えています。
今、グラフ範囲という名前に
INDIRECT("B"&MATCH(sheet1!$D$4,sheet1!B1:B10,0)&":B"&MATCH(sheet1!$D$5,sheet1!B1:B10,0))
という風にし、B列からD4とD5の値を探し、その間を横軸の範囲にしようとしていますが、うまくいきません。
どこが間違っているのでしょうか?
ご教示のほどよろしくお願いいたします。
2019/11/06(水) 19:00:59.39
"sheet1!B"
2019/11/06(水) 19:27:59.58
>392
回答ありがとうございます。
修正を行ったのですが、解決には至りませんでした・・・・
ちなみに、適当なセルに関数を入力、数式のチェックを行うと、最終的には
『INDIRECT(sheet1!B10:B20)』のような形になるので・・・数式としては間違ってないのでは?と感じております。
名前を定義する際の方法が間違っているのでしょうか?
394名無しさん@そうだ選挙にいこう
垢版 |
2019/11/06(水) 19:42:42.92
>>389
うちの環境では特にそんな事にはならないよ
2019/11/06(水) 19:53:57.76
>>391
後ろの検索範囲も10個しかないから最高B10にしかならん
2019/11/06(水) 20:20:27.62
>392
回答ありがとうございます。
上記の関数をたとえばCUNTAなどで囲った場合は、臨んだ値が返されるのですが、名前として定義をすると何も返されない状態になるのです。
そのため名前の定義をするときはこの方法では無理なのか?と感じている状態です。
よろしくお願いいたします。
397名無しさん@そうだ選挙にいこう
垢版 |
2019/11/06(水) 20:41:49.76
1100
1200
1400
1500
1700

100番ずつ上がるが、1300,1600などがわかるような関数式ない?
2019/11/06(水) 20:53:06.24
>>397
1300,1600などがわかるとは?
2019/11/06(水) 20:56:44.10
>>396
=OFFSET(Sheet1!$B$1,MATCH(Sheet1!$D$4,Sheet1!$B$1:$B$10,0)-1,0,MATCH(Sheet1!$D$5,Sheet1!$B$1:$B$10,0)-1)
2019/11/06(水) 21:35:34.50
>>391
>>392 に加えて
2ヶ所ともB1:B10 → $B$1:$B$10
2019/11/06(水) 21:38:12.12
>>393
sheet1!付けても駄目ならMATCHの結果が違うんでないの
2019/11/06(水) 21:38:53.70
>>400
$付ける必要は無いぞ
2019/11/06(水) 21:43:07.42
あ、もしかして別シートから呼び出すのか
2019/11/06(水) 22:36:38.91
>>397
よくわからんけど、If 1300 Or 1600 Then うんこ 的なやつじゃダメなのか。
2019/11/06(水) 22:54:30.66
>>397
「抜け」を探したい、ってことですか?
開始値、終了値、増分で正しい値セットをフィルコピーで作っておいて、
隣の列に「対象のセル範囲に一致する値があるかないか」の計算式を
入れるのがわかりやすいと思う。
2019/11/06(水) 23:51:39.77
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

一部のセルのロックを解除して、シートを保護した状態(※1)にすると、
罫線の「格子」、「外枠」、「その他の罫線」が使えなくなってしまいます。
この状態でも「格子」、「外枠」、「その他の罫線」を使えるようにしたいのですが、
どうしたらよいのでしょうか?
(下罫線や右罫線などは使えるので、組み合わせで罫線引けるのですが、組み合わせは面倒です。)

(※1)
「このシートのすべてのユーザーに許可する操作」の設定
・ロックされていないセル範囲の選択
・セルの書式設定
407名無しさん@そうだ選挙にいこう
垢版 |
2019/11/07(木) 00:21:21.60
>>397
1100がA1にあるとして
B2=IF(A2-A1=100,"",A1+100)
↑のオートフィルではダメ?
2019/11/07(木) 00:26:08.57
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

例えば、一つ上のセルと比較して10以上数字が大きい場合に、
そのセルの色を変えるって感じで条件を設定したいんですが、
A1+10<=A2と設定したとして、
なぜかA1の方の色が変わっちゃうんですがどうしたら良いんですか?
データ上、上が過去で下が現在って感じなので、現在ベースで色が付くと良いんですが
2019/11/07(木) 00:30:39.42
>>408
A1に条件が設定されてるからじゃないのか
2019/11/07(木) 00:46:15.01
>>407
「抜け」が連続したときにわからないと思う。
1100
1200
1500
1600
のときに、1300と1400を表示する必要がある。
411名無しさん@そうだ選挙にいこう
垢版 |
2019/11/07(木) 00:50:31.98
>>408
選択範囲を仮に$A2:$A100として
=A2>=A1+10
でいいんじゃない?
2019/11/07(木) 00:52:35.40
>>397
A1=1100
B1=TEXTJOIN(",",,INDEX(REPT(ROW(INDIRECT(A$1/100&":"&INDEX(A:A,COUNTA(A:A))/100))*100,--ISERROR(MATCH(ROW(INDIRECT(A$1/100&":"&INDEX(A:A,COUNTA(A:A))/100))*100,A:A,))),))
413名無しさん@そうだ選挙にいこう
垢版 |
2019/11/07(木) 01:30:48.75
セルのコメントの枠について
位置を移動させたいんですけど出来ますか?
下の方のセルのコメントの枠が
表の下にはみ出てしまって見えないんです
スクロールすればもちろん見れますが
しかし表の上も同時に見たいので
それだといちいち上下しなければならず
なのでコメントの枠をもっと上に表示させられればなあと
コメント編集時の枠は移動できますけど
通常の閲覧時の枠の位置がセルから見て一定なので
2019/11/07(木) 01:55:17.73
>>413
セルのコメントの位置が、最初にコメントを付けたときより下方向に異常にずれる不具合のことでしょうか?
Excel2003まではそんなトラブルと無縁でしたが、(2007は使ったことがない)2010以降
おかしくなってるような気がします。自分の回りには2013以降のPCはまだ少ないのでなんとも。
ということで、私の対策は「コメントを極力つけない」になってしまいました。
別のシート「メモor説明」に注意点を並べています。
私はマクロを起動するためのボタンもシート上に置くようにしていたのですが、
2010以降は大きさや位置が変わる(極端なときは高さが1ポイントとか、幅も一文字分など)
ことが頻発したので、シート上にはフォームを表示させるボタン1個だけとし、フォームの中に
従来並べていた各機能(マクロ)のボタンを配置するようにしました。
フォームを表示させるための唯一のボタンも大きさや位置が変わってしまうことがあるので、
シートがアクティブになったときに起動するマクロで当該ボタンの大きさ・位置を設定する
ようにしたものもあります。
ということで、直接の解決策としては<マクロ入りのブックであれば>シートを表示する
タイミングでセルコメントを付け直すのはいかが? 他の方法は思いつきません。
415名無しさん@そうだ選挙にいこう
垢版 |
2019/11/07(木) 11:30:27.22
>>406
無理
罫線はセルじゃなくてシートの一部だから
シートが保護されれば変更不可

ただし、シートの保護のオプションで
オブジェクトの編集にチェック入れれば
保護中でもオートシェイプは入れられるから
ALTキー押しながらオートシェイプの線を引けば
罫線の代用にはなる
416名無しさん@そうだ選挙にいこう
垢版 |
2019/11/07(木) 11:34:34.52
>>411
条件式は
>=A1+10
で良いんじゃね?
2019/11/07(木) 15:42:13.24
>>409
>>411
>>416
ありがとうございます。
選択範囲の方を変えるって方法勉強になりました。
2019/11/07(木) 19:42:14.36
選択範囲を変える方法じゃなくてそもそも設定の方法が間違ってるんやろ
2019/11/07(木) 21:06:44.64
>>415
ありがとうございます。
無理なんであればVBA検討してみます。
2019/11/07(木) 21:10:58.42
>>419
ロックしたらVBAも弄れない
2019/11/07(木) 22:04:11.10
>>420
オプションでいけるじゃん
2019/11/07(木) 23:34:04.11
プロテクトそのものをVBAで制御できるやろが
2019/11/07(木) 23:45:41.23
プロテクトを何で制御しようが結局外さなきゃセル弄れないだろ
424名無しさん@そうだ選挙にいこう
垢版 |
2019/11/08(金) 00:05:41.56
>>423
unprotectしてから最後にprotectすればいい
2019/11/08(金) 00:21:58.68
>>424
それ>>423と言ってること同じじゃん
426名無しさん@そうだ選挙にいこう
垢版 |
2019/11/08(金) 00:45:33.58
>>425
すまん。ウンコをする時はズボンとパンツを下ろせばできるのに、>>423がズボンとパンツを履いたままではウンコはできないと言ってたので
2019/11/08(金) 00:51:22.84
すごく分かりやすいけど、パンツ履いたままウンコすることもある。
2019/11/08(金) 06:56:40.15
俺はいつもパンツ履いてない
2019/11/08(金) 07:19:43.56
>>428
OOoやgoogleスプレッドシートを使えばプロテクトを無効化できるという意味か
・・・
うまい例えだな
2019/11/08(金) 11:32:30.91
条件付き書式で数式使う時どうしてる?
関数の予測変換も出てこないしカッコもタブキーで出来ないし
ポチポチ自力で打つしかない?
ものすごい今更だけど
431名無しさん@そうだ選挙にいこう
垢版 |
2019/11/08(金) 11:36:27.53
自力で打つか、一旦セルに数式入力したやつコピーしてる
2019/11/08(金) 12:38:17.99
>>426
脱ぐ必要があると言ってるのはどっちも同じやん
同じなのに何がそんなに気に食わないのか…
433364
垢版 |
2019/11/08(金) 16:44:39.34
>>367
遅くなりましてすみません。
ご紹介頂いたフリーソフトを導入してみました。
ありがとうございます。
2019/11/08(金) 18:39:33.83
>>431
なるほどなぁ
ちゃんと打ち込んでも何故か式がズレる時あるからなんかムカついてしまったわ
アクティブセルちゃんとしないとズレるのかな?
2019/11/08(金) 19:20:48.11
マクロ初心者です。教えて下さい!
ネットで検索してマクロをまねして書いてみましたがうまくいきません
やりたいことはZドライブのファイルを10個オープンしてaaaというファイルのA2から
10行おきにコピペするというマクロなのです。
Zドライブのファイルは全てB2:J10にデータが書かれています。
作ったマクロはこれです。
Sub copipe()
Path As String, myBook As String

myPath = "Z:\"
myBook = Dir(myPath & "*.xlsx")

Do Until myBook = ""
Workbooks.Open myPath & myBook
Range("B2:J10").Select
Selection.Copy
Workbooks("aaa.xlsm").Activate
Sheets("sheet1").Select
Range("A2").Select
ActiveSheet.Paste
Range("A12").Select
ActiveSheet.Paste
以下繰り返しでA92までコピペ
Range("A92").Select
ActiveSheet.Paste
Workbooks(myBook).Close
myBook = Dir
Loop
End Sub
2019/11/08(金) 19:38:03.60
>>435
1ファイル分をaaaのA2以下に10回貼り付ける作業を全ファイル分繰り返して上書きし続けている
どういう結果にしたいわけ?1ファイル目をA2に貼って2ファイル目をA12に貼って…という風にしたいのか?
437名無しさん@そうだ選挙にいこう
垢版 |
2019/11/08(金) 20:49:47.82
>>435
Sub copipe()
Dim mybook As Variant, rs As Long
mybook = Dir("Z:\*.xlsx")
Do Until mybook = ""
mybook = Dir
Workbooks.Open mybook
With Workbooks("aaa.xlsm").Worksheets("sheet1")
rs = .Cells(.Cells.Rows.Count, "A").End(xlUp).Offset(1).Row
.Cells(rs, 1) = Workbooks(mybook).Worksheets("sheet1").Range("B2;j10")
End With
Workbooks(mybook).Close
Loop
End Sub

実際に動かしてないからエラーが出るかも知れないが多分大丈夫と思う
開く方のシート名は何でもいいけど全て同じにする必要がある
2019/11/08(金) 21:03:50.73
>>437
間違ってるぞ
439名無しさん@そうだ選挙にいこう
垢版 |
2019/11/08(金) 21:17:19.45
>>437
9行目訂正
.Range(.Cells(rs, 1), .Cells(rs + 8, 9)) = Workbooks(mybook).Worksheets("sheet1").Range("B2;j10")
440名無しさん@そうだ選挙にいこう
垢版 |
2019/11/08(金) 21:35:54.93
>>439
すまん、二度目の訂正
.Range(.Cells(rs, 1), .Cells(rs + 8, 9)).Value = Workbooks(mybook).Worksheets("sheet1").Range("B2;j10").Value
441名無しさん@そうだ選挙にいこう
垢版 |
2019/11/08(金) 22:07:12.84
A B C D
1
2
3
4



 1 2 3 4
A
B
C
D

にしたいんだけど無理ですか?
2019/11/08(金) 22:17:42.62
>>441
1行目を右に1個ずらす→表全体をコピー→形式を選択して貼り付けで行列入れ替えを選ぶ
443名無しさん@そうだ選挙にいこう
垢版 |
2019/11/08(金) 22:24:45.22
>>442
ありがとう。
データが90度回転状態になった!

枠を入れ替えたいんだわ

氏名1 氏名2 氏名3 氏名4
住所1 住所2 住所3 住所4
電話1 電話2 電話3 電話4
日付1 日付2 日付3 日付4

みたく 
444名無しさん@そうだ選挙にいこう
垢版 |
2019/11/08(金) 22:31:10.53
>>435
Sub copipe()
Dim mybook As Variant, rs As Long, wb As Variant
mybook = Dir("Z:\*.xlsx")
Do Until mybook = ""
wb = mybook
mybook = Dir
Workbooks.Open ("Z:\" & wb)
With Workbooks("book1.xlsm").Worksheets("sheet1")
rs = .Cells(.Cells.Rows.Count, "A").End(xlUp).Offset(1).Row
.Range(.Cells(rs, 1), .Cells(rs + 8, 9)).Value = _
Workbooks(wb).Worksheets("sheet1").Range("B2:j10").Value
End With
Workbooks(wb).Close
Loop
End Sub


何回も訂正して悪い
エラーチェック済だからこれでいける
2019/11/08(金) 22:46:13.51
>>443
枠?
1234をABCDにするの?
出来るけど、WindowsAPIを使って、やっとどうにかなるレベルじゃないの。
2019/11/08(金) 23:03:47.63
>>443
枠とは?
その4行の表の入れ替え前は?
2019/11/08(金) 23:11:56.48
>>444
元のままでいい部分までややこしく変えなくてもいいんじゃないの…
2019/11/08(金) 23:15:08.62
>>443
枠ってもしかして列名と行番号のことか
そんなの変える機能は無い
代替案としては自分で1行目とA列に好きな文字入れてそれを目安にする
2019/11/08(金) 23:17:47.89
さらに本来の列と行番号の部分を非表示にすればそれっぽくなるぞ
2019/11/08(金) 23:21:03.97
まあ、ディスプレイを90度回転させればいいだけなんだけどね。
451名無しさん@そうだ選挙にいこう
垢版 |
2019/11/08(金) 23:53:48.11
>>447
追加しないと駄目な所だけ追加したけど、具体的にどこの部分?
簡単にできるのなら考えるけど
2019/11/09(土) 05:24:43.96
>>451
MyPathを無くして"Z:&#165;"を直書きにしてる
wbなんて言う意味不明な変数は要らん
元のままでいいだろ
2019/11/09(土) 09:29:40.70
>>450
そのままの意味で力技だな
2019/11/09(土) 10:34:50.37
>>436,444
早速RESありがとうございます。
444さんのマクロ試してみましたがうまくいかないようです。

私の説明がまずかったのだと思いますが、実際にやりたいことは以下のようなことです。
http://nanpre.adg5.com/xlsx_down.php
このページのナンプレを10問ダウンロードして問題の部分だけ(B2:J2)を
http://iup.2ch-library.com/i/i2024927-1573263001.jpg
このファイルのA2:I100まで10行ごとに1行開けてペーストしたいのですが
ご教授下さい。
455名無しさん@そうだ選挙にいこう
垢版 |
2019/11/09(土) 11:23:42.68
>>454
Sub copipe()
Dim myPath As String, mybook As Variant, rs As Long
myPath = "Z:\"
mybook = Dir(myPath & "*.xlsx")
With Workbooks("aaa.xlsm").Worksheets("sheet1")
Do Until mybook = ""
Workbooks.Open (myPath & mybook)
rs = .Cells(.Cells.Rows.Count, "A").End(xlUp).Offset(2).Row
If rs = 3 Then
rs = 2
End If
.Cells(rs - 1, 1).Value = .Range("K1").Value
Workbooks(mybook).Worksheets("sheet1").Range("B2:j10").Copy .Cells(rs, 1)
Workbooks(mybook).Close
mybook = Dir()
Loop
.Range("A1:I100").ColumnWidth = ColumnWidth + 4
.Range("A1:I100").RowHeight = RowHeight + 28
End With
End Sub

1行開けのスペースの場所にある上級〜の文字はペーストするシートのK1に文字を入力したら同じ文字ばかりだけど入力される
2019/11/09(土) 13:48:49.20
これでいいんじゃないの
sub copipe()
Dim Path As String, myBook As String
Dim rowNo as long
myPath = "Z:\"
myBook = Dir(myPath & "*.xlsx")
rowNo = 1
Do Until myBook = ""
 Workbooks.Open myPath & myBook
 Workbooks(myBook).Worksheets("Sheet1").Range("B2:J10").Copy Range("A" & rowNo + 1)
 Workbooks(myBook).Close
 rowNo = rowNo + 10
 myBook = Dir
Loop
End Sub

aaa..xlsmのシートモジュールに書く
タイトルが欲しければループの1行目にRange("A" & rowNo).Value = myBookでも入れておけばいい
457454
垢版 |
2019/11/09(土) 14:51:13.52
>>455,456
速攻RESありがとうございました
早速やってみましたが、455さんのマクロの場合、"aaa.xlsmのsheet1に全くペーストできないです
マクロは動いているようなのですが、コピーペーストができないです。

456さんの場合オープンしたファイルに次々とペーストされていくようです。
また、Workbooks(myBook).Closeの記述があるのですがオープンしたファイルを保存するかどうか一つずつ聞いてきます。
2019/11/09(土) 15:17:21.89
>>441 443
TRANSPOSE 関数
https://support.office.com/ja-jp/article/transpose-%e9%96%a2%e6%95%b0-ed039415-ed8a-4a81-93e9-4b6dfac76027?omkt=ja-JP&;ui=ja-JP&rs=ja-JP&ad=JP
2019/11/09(土) 16:32:33.93
>>457
Workbooks(myBook).Close(False)
に変えれば保存せずに閉じる
けど、ファイル変更してなきゃ聞いて来ないはずなんだがな…
2019/11/09(土) 16:36:09.45
>>457
オープンしたファイルに、か
>>459は忘れてくれ
コードはaaa..xlsmの貼り付けたいシートのシートモジュールに書くんだ
2019/11/09(土) 18:13:17.82
>>460
ありがとうございました!!!!!
シートモジュールに書いてなかったのでうまくいかなかったみたいです。
シートモジュールに書いたらバッチリ動きました。
462名無しさん@そうだ選挙にいこう
垢版 |
2019/11/09(土) 22:36:53.48
>>448
人物の公開プロフィールやDVDのデータをデータベース化する場合や、
例えば、
http://www.helloproject.com/morningmusume/profile/mizuki_fukumura/
http://www.helloproject.com/morningmusume/profile/erina_ikuta/
https://www.a
mazon.co.jp/gp/product/B01BTGDP3M/
の1人や1作品の登録データをまるごと1回でコピーしてExcelに貼ってを繰り返してデータ化するには、横軸に数字で
縦軸の項目はせいぜい15個くらいの横長の表のほうがいい。
2019/11/09(土) 23:04:22.86
>>462
横に数字が並ぶイメージがつかないけど、1人に紐付く情報が縦方向に並ぶ表形式なのか
複数人数の情報を纏めるデータベースなら1人1行で横方向に情報が並ぶ方が処理しやすくないか
2019/11/09(土) 23:45:13.42
スマホ版だとPC版で変更したフォント(フリーのダウンロードしたやつ)は反映させられないのだろうか?
2019/11/09(土) 23:54:44.34
PC版でもPCに入れてないフォントは反映されないぞ
2019/11/10(日) 00:27:12.02
>>465
スマホにも同じフォント入れたはずなんだよね
2019/11/10(日) 10:25:15.33
自分で作った色、例えばピンク RGB(255,204,255)は別のPCのExcelには初めから設定されていないので、その他の色、ユーザー設定でRGBを設定して新たに色を作らなければなりませんが、
それを自動で設定してリボンのフォント、最近使用した色のパレットに設定するマクロありますか?
指定した色の付いたセルで分岐させたいのですが
468名無しさん@そうだ選挙にいこう
垢版 |
2019/11/10(日) 12:41:54.08
>>467
マクロで色を付けても最近使用した色には反映されないから無理かと
ユーザーフォームを使ってオリジナルのカラーパレットを作るとかかな
2019/11/10(日) 12:51:20.75
>>467
マクロ使わなくても、その他の色→OKで履歴に入るよ
2019/11/10(日) 13:59:14.04
>>468
>>469
ありがとうございます。
後任の人にその他の色→OKを申し送っておきます。
2019/11/10(日) 15:27:51.28
ブックに掛かってるパスワード無視して内容読み込むって出来る?
暗号解読ソフト使うとかじゃなくてVBAで
2019/11/10(日) 15:40:53.73
>>471
無視はできない
パスを解除することになる
2019/11/10(日) 15:46:27.48
>>471
パスが分かってるのか分からないのかで対応が違う
2019/11/10(日) 21:23:59.68
Microsoftにログインできなくなってしまった
なぜ…
475名無しさん@そうだ選挙にいこう
垢版 |
2019/11/11(月) 12:13:38.57
VBAに過度な期待してる人いるな
細かな制御が出来るだけで
なんでもありじゃないんだが
Excelのシステム的に無理なのは無理
2019/11/11(月) 19:49:36.54
そもそもどういうものか知らないんだろうな
2019/11/11(月) 19:55:27.16
>Excelのシステム的に
なんか変
2019/11/12(火) 18:41:15.94
>>267です
また質問をお願いします

【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel 2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 出来る限り無しでお願いします

【質問内容】
15列ほどの表をオートフィルタの機能を使って活用してるのですが
そのうち5列ばかりカスタム((上)S+、S、S-、A+、A、A-、B+、B、B-、…、D+、D、D-(下))な順序でソートをします
>>267さんに教えてもらった通りユーザ設定リストを登録して出来るようになりました

そこでこのカスタムソートを1クリック(なるべく素早く簡単に)で実行できる手段はないでしょうか?
普段隠れているボタンとか探してみたのですが自分では見つけられませんでした
2019/11/12(火) 19:56:53.09
>>478
ない
2019/11/12(火) 19:59:43.22
>>479
ありがとうございます
需要がありそうだから自分が探せないだけかと思ったら意外とないんですね
2019/11/12(火) 21:43:48.60
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

Rangeのセル範囲の中で最も右側のセルを取得するにあたって、スマートな方法を教えて下さい。
※End(xlToRight)を使うと、1セルのときにうまくいかないです。

例1
   A B C D
 1 ■■■■
 
 Range:A1:D1
 →セルD1が取得される

例2
   A B C D
 1 ■□□□

 Range:A1
 →セルA1が取得される
2019/11/12(火) 21:50:56.37
>>481
End(xlToLeft)
483481
垢版 |
2019/11/12(火) 22:15:46.79
>>482
ありがとうです。

また、>>482に追加で条件付けた場合でもお願いします。
選択範囲が空白スペースの場合でも同じ結果となるようにしたいです。
2019/11/12(火) 22:25:22.40
>>483
質問の意味がわからない
2019/11/12(火) 22:34:38.67
▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
ALL_MAPというブックがあって、MAP01を開いてALL_MAPにコピペしてMAP01を閉じる。
MAP02を開いてALL_MAPにコピペと繰り返すマクロを作ったのですが、RangeをALL_MAP
の別シートにあるセルの値を変数にする方法をご教授いただきたく。

Workbooks.Open Filename:="C:\Users\XXXXXX\Documents\MAP01.xlsm"
Range("A1:S12").Select
Selection.Copy
Windows("ALL_MAP.xlsm").Activate
Range("A1").Select
ActiveSheet.Paste
Windows("MAP01.xlsm").Activate
ActiveWindow.Close

コピペするセルには値や数式はありません。オブジェクトだけです。CADの方がいいのですが、
fusion360などは一切ダメなのです。MAPファイルとALL_MAPのRangeは同じです。
よろしくお願いいたします。Excelは表計算ソフトであってドローイングソフトじゃないのですが。
2019/11/12(火) 22:53:31.89
>>485
自分の脳内設定が他人にも見えてる前提で語るのはやめよう
あまり理解していない単語で説明しようとするのも相手に混乱を招くのでやめよう
とりあえず主旨と思われる、
>RangeをALL_MAPの別シートにあるセルの値を変数にする
はそのコードのどの行でどういう動きをさせようとしてんの
487名無しさん@そうだ選挙にいこう
垢版 |
2019/11/13(水) 09:33:34.99
>>485
不明な点
なんで環境変数USERNAME使わないの?
不満言ってるって事は職場で仕方なくだろ
他人に引き継ぐとか考えないん?

別シートにあるセル参照したいならシート名添えるだけだろ?あるいは名前定義

そもそもMAPが画像ならその画像ファイルを貼り付けるればええやん?
わざわざマクロ付きエクセルデータファイルを弄る理由がわからない
2019/11/13(水) 16:37:59.86
EXCEL今まで工事やりたい時とか物品購入してもらうために稟議書作ったり
テナントに○○日工事やるからヨロシク〜っみたいなお知らせしか作ったことなく
来月から現場じゃなく本社に行かされEXCELやるような事務方の仕事なりそうなんです
けど、本当素人からEXCELやるのにオススメのサイトとか参考書ってあるでしょうか?

自宅にはofficeないのでLibreOfficeで少しでも今から練習しようと思ってまして…。
2019/11/13(水) 16:49:44.08
>>488
https://www.becoolusers.com/excel/lesson-basic01.html

1ヶ月使える体験版で練習すればいいよ
それに、仕事に必要な知識は会社で教えてくれるのが普通
あと、Officeのバージョンが違うと画面構成があちこち変わるんで、そればかりはどうしようもない
2019/11/13(水) 19:17:27.41
>>483
最終列番号 = 1
On Error Resume Next
最終列番号 = WorksheetFunction.Match(Null, Me.Rows(行番号), -1)
On Error Goto 0
MsgBox Me.Cells(行番号, 最終列番号).Value
2019/11/13(水) 19:20:35.80
↑ごめん、範囲じゃダメか。
2019/11/13(水) 19:55:59.96
>>488
Libreは互換性はあるが多少勝手が違うからExcel知らないなら混乱の元だと思う
2019/11/13(水) 20:14:06.04
>自宅にはofficeないので
投資だと思って買っちゃうとか・・。
2019/11/13(水) 20:22:54.72
>>489>>492>>493
なるへそ、フリーのだと全くの初心者は厳しいそうなんで1ヶ月無料のでやった方が
良さそうですね…。

https://www.becoolusers.com/excel/index.html

今の所毎日↑のサイトとLIBREで仕事終わった後四則演算とかグラフ作ったり何となく
やってるんですけど1ヶ月フリーOffice入れるとしてどんな本とかサイトでやってけば
少しは役に立ちそうでしょうか?
2019/11/13(水) 20:30:58.26
実務で覚えるのが一番速くて手っ取り早いが
496名無しさん@そうだ選挙にいこう
垢版 |
2019/11/13(水) 22:18:37.52
ショートカットをマスターするのもいいかもな
車で例えるのなら道はさっぱりわからんけど運転技術は高いみたいな
2019/11/13(水) 22:37:26.65
そんなもん基本がわかってからでいい
2019/11/14(木) 10:34:22.07
>>495>>496>>497
現場一筋だったんですけど資格勉強にはまり宅建とか簿記2等取ってしまったせいで
向こうも勝手にできるやつだと思ってるせいか内勤になる感じで本当EXCELとかは
サッパリでして…。

確かに内勤なって一から実際にやってみるのが良さそうですね…取り敢えずoffice1ヶ月
フリーので↑に載せたサイトみたいなの見ながら触ってはいようと思います!

レベル低すぎる質問にも関わらず色々教えていただきありがとうございました!
2019/11/14(木) 12:21:07.68
>>498
とりあえず詳しくないことを伝えるのが先では…
2019/11/14(木) 21:15:03.08
SUMが使えて、罫線が引けて、色を染められて、印刷が出来れば大丈夫だと思うよ。
周り全員がプログラマーとか、極端な状況でもない限り。
2019/11/14(木) 21:46:13.00
>>498
一番覚えた方がいい関数はSUMPRODUCT
これだけでいい
2019/11/14(木) 21:49:34.57
EXACTは地味に使うわ
2019/11/14(木) 22:17:17.72
>>501
SUMだよ
まずSUMPRODUCTとかただの自己満足
2019/11/14(木) 23:12:09.22
>>503
sumproduct関数解ってなさそう
2019/11/14(木) 23:16:48.45
sumproduct重たくなるから極力使わない
2019/11/14(木) 23:22:56.71
サムプロダクトって、式を1セルにまとめられるってだけでしょう?
2019/11/14(木) 23:23:26.62
間違えた。
サム・プロダクトね。
2019/11/14(木) 23:55:42.99
テーブルとINDEX(MATCH(),MATCH())
2019/11/14(木) 23:57:25.07
{INDEX(MATCH(A&B),MATCH())}
とかも。
2019/11/15(金) 00:46:40.01
中途半端な知識のやつほど無駄にややこしい式を作りたがる
2019/11/15(金) 02:56:53.52
列番号入れるより、よっぽど楽だわね。
2019/11/15(金) 06:26:42.85
>>506
もっと勉強したほうがいいというのと
初心者も混じっているような多人数での仕事をした経験がない事はわかった
513名無しさん@そうだ選挙にいこう
垢版 |
2019/11/15(金) 07:20:18.69
SumproductはSumで代用出来るから
Sum関数を極める方が良い
2019/11/15(金) 07:46:45.33
>>513
式をダブルクリックしちゃって「あれ?エラーでたよ!エラー!なんだよこれふざけんな!」
ってなりそうだからSUMの配列はSUMPRODUCTにしてる
515名無しさん@そうだ選挙にいこう
垢版 |
2019/11/15(金) 12:20:02.44
配列数式って操作が難しいけど
それに名前つけてしまえば
Sumproduct使わないでもいける
初心者も迷わない かも
516名無しさん@そうだ選挙にいこう
垢版 |
2019/11/15(金) 13:17:14.79
ゼロで始まる数字を入れるとそのゼロが消えて困っておる。
だれか対策方法がわかる者はいないのか?
この馬鹿モンが!
2019/11/15(金) 13:59:21.90
>>516
Excelのセルの表示形式がデフォルトの「標準」だと、
少数以外で、頭が0で始まる数字列は、数字ではないと認識するから。

頭 0 を表示させたいなら、
1. 入力するとき、頭に ' を入れて文字列認識させる
2. セルの表示形式を文字列にする
3. セルの表示形式をユーザー定義で、0000 (4桁の場合)とする

3.の場合は、表示は 0123 でも文字認識ではなく、
整数の 123 としてそのまま計算が可能だよ、
Excelの、というかスプレッドシートの基本中の
基本も知らない、調べようともしないトンマさん。
2019/11/15(金) 14:39:16.88
デフォルトの設定通りテキストアラインは、文字列は左寄せ、数値は右寄せが基本的には見栄えがいいのに誰も彼もどこもかしこもが真ん中寄せ大好きなのって何か理由があるのかね?
519名無しさん@そうだ選挙にいこう
垢版 |
2019/11/15(金) 17:47:05.30
>>518
真ん中にすると
罫線から離せて見易いからかのう

それならインデント付けるべきかと
特に数値は桁揃えしてないとみにくいし
520名無しさん@そうだ選挙にいこう
垢版 |
2019/11/15(金) 17:48:20.09
ただのう、エクセルのインデントはおおまか過ぎるとは思う
もっと細かく指定したい
2019/11/15(金) 18:32:27.08
>>512
>もっと勉強したほうがいいというのと

不要。
SQLで集計するから。
2019/11/15(金) 20:56:03.89
0を消す機能はあっても良いけど、消えるのがデフォってのが面倒臭いんだよな。
このせいで、001とか入っているCSVを編集・保存する時は、
いちいちテキスト取り込み機能使うか、メモ帳で編集しなきゃならん。
2019/11/15(金) 21:03:23.69
3/4 → 3月4日 勝手に日付にすんなボケ! とか
2019/11/15(金) 21:14:56.69
勝手に表示形式変えるのはほんとウザい
2019/11/15(金) 21:30:35.27
国産じゃないからな。
日本人の考える親切とはズレてるんじゃないだろうか。
2019/11/15(金) 22:55:31.24
>>521
sumproductは集計だけに使うわけじゃないよ
そうか、集計だけにしか使ってないのなら
確かにsumで充分ってセリフも出てくるわなw
527名無しさん@そうだ選挙にいこう
垢版 |
2019/11/15(金) 23:00:41.69
▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 無理

よろしくお願いします。A1:B20に入力済みの検索キー(10進法)。
A列は上限値、B列は下限値、AnとBnで一対です。
E1:F1000のE列に検索をかけ、検索キーごとに該当する複数行のEn*Fnの和を求めたい。
E列は整数のみ、F列は整数と小数10^-8の混合記載です。
2019/11/16(土) 00:20:30.12
>>527
検索キーとか言っといて範囲なのか…
=SUMPRODUCT(($E$1:$E$1000>=A1)*($E$1:$E$1000<=B1),$E$1:$E$1000*$F$1:$F$1000)
2019/11/16(土) 00:21:59.26
AとBの不等号逆だったわ
2019/11/16(土) 02:25:31.68
>>519
1.何でもかんでも真ん中寄せ
2.セル結合大好き
3.表というものは縦横の罫線で囲まれているもののことをいう
4.そうだ!間に空白行を挟めば綺麗で見易い表の出来上がり!

奇数番はともかく、そこから更に分析が必要な資料に偶数番を施されて殺意を覚える方が現状では少数派なんだろうな
2019/11/16(土) 02:30:36.18
見てくればかりに時間使ってるのは、
日本の生産性が上がらない原因の一つ。

そんなことより、
ピボットテーブルだのPower Query覚えたら?
2019/11/16(土) 09:17:36.48
5.項目が被ってるものはいちいち書くより空欄にした方が見易いよね
6.そうだ!業者別に表を別々に作ろう!縦に列べるより横に並べた方が綺麗だな
7.日付はドットで区切るに限る(キリッ!)
8.何だここ?=ぶいるっくあっぷ何とかかんとかのファルセ?まあ、いいや!取り敢えずこのセルには100と入力と♪

もう全部自分でやるからあなた何もしなくていいよ
という思いを全く抱かないのは懐が深いか甘いか鈍いかのどれかだな
2019/11/16(土) 09:43:13.38
液晶の解像度がHDからFHDに変わった人結構いますよね?
以前より若干文字が太字に変わってしまったと思うんですけどそのまま使ってますか?
慣れるしかないのかな。
534名無しさん@そうだ選挙にいこう
垢版 |
2019/11/16(土) 11:00:12.35
>>530
俺は君寄りの考えだよ
セル内の余白というかインデントというかが
細かく設定できないので1行、1列置きにデータ入れてるエクセルの表見ると
殺意さえ覚えるもん
535名無しさん@そうだ選挙にいこう
垢版 |
2019/11/16(土) 11:01:32.17
それもこれもエクセルにレポートの機能ないから
アクセスのようなレポートでも作れれば
かなりスッキリする
536名無しさん@そうだ選挙にいこう
垢版 |
2019/11/16(土) 11:10:42.04
アクセスの様なレポート作れたら
アクセス辞める人多いと思われ

イラストレーターの差し込み印刷となるデータ駆動グラフィックは
帳票作れんし
2019/11/16(土) 11:45:56.53
マクロでレポート作成ツールを作らされる
538名無しさん@そうだ選挙にいこう
垢版 |
2019/11/16(土) 11:49:55.83
>>524
表示形式というか中身そのものを変えてくるのがうざいわ
例えば1E00って入れたら勝手に1.00E+00にしてくるし
2019/11/16(土) 12:36:27.87
表計算することを目的としてるんだから数値として扱われたくなければ全て文字列書式に変えておけということ
540名無しさん@そうだ選挙にいこう
垢版 |
2019/11/16(土) 14:02:56.31
>>537
Excel用Markdownマクロ需要ありそう
2019/11/16(土) 14:04:51.52
>>533
画面サイズは関係ないよ
パソコンを買い替えたんでしょ
Windowsはバージョンによって標準のフォントが違うんだよ
542名無しさん@そうだ選挙にいこう
垢版 |
2019/11/16(土) 14:06:31.99
>>539
正論ですね
アクセスとかはフィールド属性を適切にしとけば
変な変換一切なしで貼り付けられるし
543名無しさん@そうだ選挙にいこう
垢版 |
2019/11/16(土) 14:13:29.90
>>534
「Windows10フォントが汚いので一発変更!」
というツールおすすめ
2019/11/16(土) 15:08:30.51
最近エクスプローラーでエクセルに紐付けられたファイルを選択するとこんなエラー出るんだけど(多分プレビュー失敗?)
タスクバーのアイコン的もエクセルのものなのでエクセルのエラーなのは間違いない
解決法ってある?
心当たりとしては別々のアカウントに紐付けられた違うバージョンのofficeを複数インストールした事だけど(それから起きるようになったので)
もうアンインスコ済みで今入ってるの一つだけだしどうしたらいいのかわからん
https://i.imgur.com/FL91zHc.jpg
2019/11/16(土) 16:59:03.39
>>544
今入れてるOfficeも再インストールしてみる
2019/11/16(土) 17:30:13.54
>>545
後出しで申し訳ないがそれも試した
officeを全てアンインストールした上で再度一つのバージョンだけインストールしたけど駄目
547名無しさん@そうだ選挙にいこう
垢版 |
2019/11/16(土) 19:04:34.06
>>546
解決するか分からないけど、参照設定でチェックマークの入ってるライブラリは何になっていますか?

なお、参照設定について不明なら
Excel 参照設定
でググって
548名無しさん@そうだ選挙にいこう
垢版 |
2019/11/16(土) 19:15:32.36
>>546
https://eijiman.com/office-uninstall/
>【超簡単】Microsoft Officeを完全にアンインストールする方法

通常のアンインストールだけだと、不完全なんですよ。
MS謹製のツールを使わないといけないんす。
アンインストーラのバグともいう
2019/11/16(土) 21:52:47.07
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

本日、PCを日常的に使ってるというだけでデジタル音痴の社長から
触ったことも無いエクセルで指定品番で素材の総数出力ができるデータベース作ってくれと命じられて困ってます
1時間ほど適当に触って見てとりあえず最低限のデータベース作りは解りましたがそこから数値の抽出をする段階でもはやちんぷんかんぷんになってしまいました
解説サイトを見てても痒いところに手が届かないというか私の目的に合致したものが見つけられず・・・

さすがに5chのレスで全部教えてもらえるもんじゃないのは解ってるので
「それを学べる本やサイトはこれだよ」っていうアドバイスもここで受けられますでしょうか?
そもそも「それエクセルじゃできねーよ」って可能性もあったりしないのかと困ってます。

具体的には

A品を作るには材料1-A,2,3が必要
B品を作るには材料1-Bが2個,2,4が必要
C品を作るには材料2,3,4が必要
  (材料は200種ほどになるので入力はまだですがとりあえずここまでの票のベースはできました)

ここから

A品100個 B品100個 C品100個を入力すれば
材料1-Aが100,材料1-Bが200、材料2が300、材料3が200、材料4が100の結果が一覧表示され
もしできるならその一覧表示だけをプリントアウトしたい


これが学べるところってありますでしょうか?
2019/11/16(土) 21:57:16.31
>>549
excelの講座サイトはたくさんあるから集計とか抽出で調べれば出るんじゃないかな
2019/11/16(土) 22:12:21.86
>>549
10分ぐらいで出来たぞ
https://dotup.org/uploda/dotup.org1995542.xlsx
2019/11/16(土) 22:33:15.84
>>549
indexとmatchの組み合わせだけ覚えれば出来る
sumproductならもう1段階上にいけるけど難しそうだね
2019/11/16(土) 22:38:31.71
めっちゃ調べまくってました

>>551
この計算式や別シート参照とかどうすりゃいいんだ〜ってレベルで調べまくってました
本当にありがとうございます
これをベースにして作ってみます
自宅サビ残しなくてすみますw
2019/11/16(土) 22:45:30.32
一見雑なのに中身綺麗で草
2019/11/16(土) 22:49:24.88
>>552
単純なsumだけで出来るぞ
2019/11/17(日) 07:02:31.95
>>555
式をダブルクリックしちゃって「あれ?エラーでたよ!エラー!なんだよこれふざけんな!」
ってなりそうだからSUMの配列はSUMPRODUCTにしてる
2019/11/17(日) 11:46:30.56
ロック掛けとけよ
2019/11/17(日) 15:30:21.32
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

質問です。
任意の入力済みのセルをクリックすると、入力内容は数式バーにも表示されます。
で、数式バーの入力内容の任意の場所で上方にドラッグ&ドロップすると先頭まで、
下方にドラッグ&ドロップすると末尾まで範囲指定できますよね?
それが急にできなくなったという現象です。
解決法をご教示いただきたし。
2019/11/17(日) 15:39:21.94
キーボードの↑↓で良くない?
2019/11/17(日) 16:30:41.12
>>558
セルをダブルクリックしててセル内編集状態になってるとか
それとドラッグ&ドロップの使い方おかしいたぶん意味間違ってる
561558
垢版 |
2019/11/17(日) 17:22:01.80
>>559
マウスの方がはかどるんですよー、すみません。
>>560
セル内編集状態になっていなくてもです。
それから、「ドラッグして放す」が正しいですね、すみません。

引き続きよろしくお願い申し上げます。
2019/11/17(日) 17:32:51.64
キーボード操作駆使できるようになれば作業効率が数倍は変わってくるからキーボード操作に慣れたほうが良いよ
2019/11/17(日) 17:38:52.78
>>562
キーボードに変えても現象の改善はしないぞ
2019/11/17(日) 17:42:35.05
>>558
毎回なのか時々なのか
2019/11/17(日) 18:26:03.40
>>541
EXCELのフォントは同じ「MS P ゴシック 11」なんですが(´・ω・`)
566名無しさん@そうだ選挙にいこう
垢版 |
2019/11/17(日) 22:28:33.78
>>565
ClearTypeテキストチューナーはもう試した?
567558
垢版 |
2019/11/18(月) 06:38:47.04
>>562
今後、勉強したいと思います。
>>564
毎回です。
そもそも、この機能、活用している方も少ないようで、
長年慣れ親しんでいたのですが、
数か月前からパタッとつかえなくなったのです。
2019/11/18(月) 07:56:44.58
>>566
やってみたけどダメでした。
その設定は文字の滲み程度しか解消されません。
569名無しさん@そうだ選挙にいこう
垢版 |
2019/11/18(月) 09:23:08.88
>>567
どこかのタイミングで数式バーが多段に伸ばせるようになったから、そこらへんで何か変わったのかもね。
キーボードでやるなら[Shift]+[Home]で前半選択で[Shift]+[End]で後半選択になるよ。
570名無しさん@そうだ選挙にいこう
垢版 |
2019/11/18(月) 12:05:04.21
>>567
[CTRL]+[A]で全選択
2019/11/18(月) 14:53:44.28
同列にある項目名「りんご」「青りんご」については全て「果物」とする、みたいなことをたくさん紐づける良い手はありますでしょうか?
現状はsubstituteで入れ子を重ねており、文字を変換させた列を追加しているのですが、64を超える種類があり適応できません。
また、「青りんご」が「青果物」になってしまい一部の変換がうまく行かず困っています。
何卒よろしくお願いします。。。
2019/11/18(月) 17:24:22.07
>>571
纏めたいリストが別にあるならCountifでもMatchでもして0以上なら果物という式にすればいい
2019/11/18(月) 19:42:18.16
>>567
MSアカウント持ってるならMSのフォーラムで質問してみるとか
2019/11/18(月) 21:59:50.27
>>572
別にリストがあるわけではないんですが、matchは知らなかったので調べてみます
575名無しさん@そうだ選挙にいこう
垢版 |
2019/11/18(月) 22:10:22.55
>>571
そのシートに
品目
りんご
青りんご
といった列があるなら

それをテーブルに変換し

さらに、次のようなテーブルを用意して(品目は主キー)
品目,種類
りんご,果物
青りんご、果物
大根、野菜
小松菜,野菜


その二つのテーブルを結合させれば良い。

テーブルの挿入方法や結合方法はググれば出てくる。

もし、Accessが使えるなら、そっちの方が楽に作れるけどExcelでも可能
2019/11/19(火) 11:33:29.29
2019ですがライセンスオーバーで使えない場合、インストール後は何日ぐらい使えますか?
またライセンスを削除したいPCが故障している場合はどういう流れになりますか?
577名無しさん@そうだ選挙にいこう
垢版 |
2019/11/19(火) 12:38:26.80
サポートにどうぞ
https://support.microsoft.com/ja-jp/help/4027136/office-contact-microsoft-office-support
2019/11/20(水) 00:07:03.35
https://i.imgur.com/bFcCEsZ.jpg
これを
https://i.imgur.com/EL0wy2G.jpg
こうしたいのですがなにか楽な方法があったら教えてください
2019/11/20(水) 01:05:48.82
>>578
楽な方法は無いので大量じゃないなら考えてる間にさっさと手でコピペした方が速いと思う

データがA1から入ってる場合
C1 =INDIRECT("A"&ROW($A1)+9*(COLUMN(C1)-COLUMN($C1)))
2019/11/20(水) 09:11:32.53
>>578
VIPで教えてもらっただろ
2019/11/20(水) 10:54:25.06
>>575
テーブルやその結合含め調べてやってみて、これVLOOKUPでいいじゃん!となって目が覚めました。
遅くなりましたがありがとうございました。
582名無しさん@そうだ選挙にいこう
垢版 |
2019/11/21(木) 17:06:59.18
ある作業の期限を2020/10/10のように入力しました。
各月の作業回数を出したいので
=Countif(A1:A100,”2020/10/*”)
と数式を入力しましたがうまく数えてくれません。
なぜでしょうか。
583名無しさん@そうだ選挙にいこう
垢版 |
2019/11/21(木) 17:51:45.73
>>582
日付は文字列ではなくてシリアル値になってるから
2019/11/21(木) 17:56:33.14
>>582
日付を入力すると、エクセルはシリアル値にして記録します。
試しに、日付の入ったセルのどれかのセルの書式を”標準”にしてみてください。
5桁の数字が表れるはず。
一方、計算式の中に"2010/10/*"と指定したのは文字列の部分一致なのでうまく行きません。

計算式じゃないけど、一番簡単なのはフィルターを利用すること。抽出条件を年と月で設定でき、
○○レコード中、○○個が見つかりました  と表示されます。
585名無しさん@そうだ選挙にいこう
垢版 |
2019/11/21(木) 18:03:27.21
>>582
よくわからないのですが
1 A列のその範囲には日付が入っているのですか?
2 期限とやらは、どのセルに入れたのですか?
3 その式は2020年10月に該当する日付をカウントしようというものですか?日付を文字列にしてもそれしか得られませんが
それと作業回数とやらの関係は?
2019/11/21(木) 18:50:01.47
>>584
countifで出た値をもとにした各月毎の作業回数グラフを作成したいのですがどうにかならないでしょうか?
2019/11/21(木) 18:52:25.68
>>585
>>582
>よくわからないのですが
>1 A列のその範囲には日付が入っているのですか
>2 期限とやらは、どのセルに入れたのですか?
>3 その式は2020年10月に該当する日付をカウントしようというものですか?日付を文字列にしてもそれしか得られませんが
>それと作業回数とやらの関係は?

1. A列には作業の実施期限が入力されています
2 A列に期限が入力されています
3 各月の作業回数を出すための数式のつもりです
2019/11/21(木) 19:23:15.80
>>586
関数使うより、ピボットテーブル使う方がラクだし
知識としても今後覚えておいて損はない
589名無しさん@そうだ選挙にいこう
垢版 |
2019/11/21(木) 19:26:26.18
>>584
COUNTIFSでいけるんじゃないかな
=COUNTIFS(A1:A100,">=2010/10/1",A1:A100,"<=2010/10/31")
2019/11/21(木) 19:29:38.15
>>586
=SUMPRODUCT(((YEAR(A1:A100)=2020)*(MONTH(A1:A100)=10))*1)
2019/11/21(木) 20:47:32.77
ありがとうございます
やってみます
592名無し募集中。。。
垢版 |
2019/11/22(金) 10:44:51.01
>>463
HPからコピペしてデータベース化するので...
2019/11/22(金) 11:01:39.64
HPにある表をクリップボードにコピーする
貼りつける用のシートと
そのシートの行列入れ替えたセルを参照する式を入れた別のシートをを用意しとく
2019/11/22(金) 17:36:31.27
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 不可

A1セルに(0.1.2.3)から1個の数字を選ぶ
A2セルに(0.1.2.3)から1個の数字を選ぶ
A3セルに(0.1.2.3)から1個の数字を選ぶ
A4セルに(0.1.2.3)から1個の数字を選ぶ
A5セルに(0.1.2.3)から1個の数字を選ぶ
A6セルに(0.1.2.3)から1個の数字を選ぶ
全部で4x4x4x4x4x4=4096通りになりますが、全ての組み合わせパターンを表示する方法はありますでしょうか?
2019/11/22(金) 18:33:15.13
>>594
A1からA6セルにかけて云々は置いといて、6ケタの4進数をシートに表示するヒントです。
A列(10進数で例えれば10万の位)〜F列(10進数で例えれば1の位)に出力すると仮定します。

F1セルに=MOD((ROW()-1),4)と入れて下方向へフィルコピーしてください。
0,1,2,3,0,1,2,3・・・と繰り返すはずです。
E1セルに=MOD(INT((ROW()-1)/4),4)と入れて下方向へフィルコピーしてください。
0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,0,0,0,0,・・・と繰り返すはずです。後はわかりますね。
2019/11/22(金) 19:42:17.80
>>594
それぞれの組み合わせをA1,A2,A3のように縦に並べるより
A1,B1,C1のように横に並べた方がいいよ
2019/11/22(金) 20:58:12.49
>>595
そこから先が分かりません。。
>>596
ですね
横に並べてみます
2019/11/22(金) 21:09:51.83
>>597
A1からF4096まで、全部のセルにこの式を入れるだけでできるよ
=MOD(INT((ROW()-1)/(4^(COLUMN()-1))),4)
599595
垢版 |
2019/11/22(金) 22:04:25.41
>>597
595です。続きを書きます。
D1セルに =MOD(INT((ROW()-1)/(4^2)),4) と入れてフィルコピー、
C1セルに =MOD(INT((ROW()-1)/(4^3)),4) と入れてフィルコピー、
B1セルに =MOD(INT((ROW()-1)/(4^4)),4) と入れてフィルコピー、
A1セルに =MOD(INT((ROW()-1)/(4^5)),4) と入れてフィルコピーします。
0〜3の繰り返しの周期を右から(1の位から)左へ4,16,64,256・・と4の"べき乗"で増やします。
1行目は   000000
2行目は   000001
・・
4095行目は333332
4096行目は333333になります。

なお、>>598さんの計算式では割り算の分母の部分が私のやり方と逆になるので、
2行目は   100000
3行目は   200000 という風になります。
A1からF4096まで全部同じ計算式にしたいのであれば、
=MOD(INT((ROW()-1)/(4^(6-COLUMN()))),4)  でいいです。
600599
垢版 |
2019/11/22(金) 22:07:39.26
>>599  の下から2行目は、
595のやり方で計算式を全部同じにしたいのであれば
という意味です。
2019/11/22(金) 23:47:31.26
>>598-600
ありがとうございました
無事に出来ました
2019/11/23(土) 13:21:14.61
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

ピリオドを複数使ったプロダクトナンバーを表示させたい。
12345678W123と入力したら123.45.678W.123という風にしたいのだが
書式のユーザー定義にどう書けばいいですか?
2019/11/23(土) 15:04:38.62
>>602
文字列は融通効かないんだ
https://support.microsoft.com/ja-jp/help/883199
せいぜい前後に文字列足せるぐらい
604602
垢版 |
2019/11/23(土) 15:56:38.79
>>603
ウッ…そっか…orz
素直にMIDと&"."で関数書きます。あ〜〜〜めんどくせえええ…(><)
2019/11/23(土) 16:55:46.800
よろしくお願いします。
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2019
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

各A列とB列に4桁の数値(0以上の整数)が入っていて、C列でその多い方の記号を表示したいです。
A列が多ければC列に×、B列が多ければC列に○です。
2019/11/23(土) 17:04:55.28
>>605
「多い」って数値の大小のことを言ってるのか?
2019/11/23(土) 17:17:22.270
>>606
はい、数値の大小です。A列2756とB列5335ならC列に○と出したいです。
2019/11/23(土) 17:18:08.40
同じ場合は
2019/11/23(土) 17:21:57.740
>>608
すごい!同じ場合は▲でお願いします;
2019/11/23(土) 17:36:24.43
=IFS(A1>B1,"×",A1=B1,"▲",A1<B1,"○")
2019/11/23(土) 17:36:58.28
>>609
C1=IFS((A1-B1)>0,"×",(A1-B1)=0,"▲",(A1-B1)<0,"○")
または
C1=IF((A1-B1)>0,"×",IF((A1-B1)=0,"▲",IF((A1-B1)<0,"○")))
2019/11/23(土) 17:37:35.55
あぁ、単純比較で良かった
2019/11/23(土) 17:39:49.850
>>610-611
ありがとうございます。違いがわかりませんが使わせて頂きます。
カオモジにみえるのかわいいw
2019/11/23(土) 17:43:19.84
素直な版
C1: =If(B1 < A1, "×", If(A1 < B1, "&#9898;", "△"))
俺なら
C1: =Choose(Sign(A1-B1)+1, "&#9898;", "△", "×")
2019/11/23(土) 17:45:55.12
=SWITCH(SIGN(A1-B1),-1,"○",1,"×",0,"▲")
616名無しさん@そうだ選挙にいこう
垢版 |
2019/11/23(土) 19:56:34.91
よろしくお願いします。
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

A~Xまでの数で、それぞれの数を足して出せる全てのパターンを確認したいです。
例えば、1,5,9,15,24という数があった場合、小さい方から
6,10,14,15,16,21,24,25,29,30,33,34,38,39,40,44,45,48,49,53,54です。
数が多くなると人力で探すのは難しいので、なにか方法はありますか。
2019/11/23(土) 20:04:16.15
そういえばswitch関数ってExcelでも使えるようになったんだね
2013で止まってますわ
2019/11/23(土) 20:55:56.83
>>616
A1からA32にこの式を入れると一覧ができる
あとは重複を除くだけ
=MID(DEC2BIN(ROW()-1,5),1,1)*24+MID(DEC2BIN(ROW()-1,5),2,1)*15+MID(DEC2BIN(ROW()-1,5),3,1)*9+MID(DEC2BIN(ROW()-1,5),4,1)*5+MID(DEC2BIN(ROW()-1,5),5,1)
2019/11/23(土) 20:58:33.18
1,5,6,9,10,14,15,16,20,21,24,25,29,30,33,34,38,39,40,44,45,48,49,53,54
じゃないの?
必ず2個以上足さないといけないって条件?
620名無しさん@そうだ選挙にいこう
垢版 |
2019/11/23(土) 22:20:19.01
>>618
ありがとうございます。
>>619
すいません、単純なミスです。
621名無しさん@そうだ選挙にいこう
垢版 |
2019/11/24(日) 09:48:21.78
>>616
A B C D E
1,5,9,15,24
0,0,0,0,0
0,0,0,0,1
0,0,0,1,0
0,0,0,1,1
..
1,1,1,1,1
のマトリックス作って
F2に=$A$1*A2+$B$1*B2+$C$1*C2+$D$1*D2+$E$1*E2
入れて下にコピー
昇順にソートして、重複データ無しにフィルター
でもええと思う。

完全に力業やな
2019/11/24(日) 10:17:06.47
「やな」ってどこの方言?
2019/11/24(日) 10:29:30.36
osaka
624名無しさん@そうだ選挙にいこう
垢版 |
2019/11/24(日) 11:35:21.40
完全に力業ばい
2019/11/24(日) 12:02:08.51
=SUMPRODUCT({24,15,9,5,1}*MID(DEC2BIN(ROW(),5),{1,2,3,4,5},1))
>>618
2019/11/24(日) 19:38:29.15
>>625
こういう式ってどうやったら思いつくんだ?
途中の配列の使い方とかサッパリわからんわ
2019/11/24(日) 19:59:32.45
多分プログラマー。
Excelの関数に詳しい程度では思いつかない。
2019/11/24(日) 20:00:02.10
式の前に欲しい答えに辿り着くためのアルゴリズムを組み立てる
2019/11/24(日) 20:08:28.55
VBAで書いた方が楽だけど、会社の偉い人たちも使うファイルだからマクロ使うわけにはいかんよなぁって時に、
無理矢理ワークシート関数に置き換えるとそんな感じになる。
2019/11/24(日) 21:35:29.52
SUMPRODUCTの中にMIDとかよく思いつくな
これならCHOOSEの代わりにも使えそう
ただし{1,2,3,4,5}よりは{5,4,3,2,1}のがいいんじゃないかな
2019/11/26(火) 20:32:12.51
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2019
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

日付を判定する関数を教えてください。

A2に年/月、D2に年、E2に月、F2に日が入っています
(A2は"19/11"のような形で入っています)
IF関数を使って↓の式を作りたいのですが

G2=IF(A2の月の前々月の21日〜前月の20までの間の年月日,"","")

H2=IF(A2の月の前月21日〜今月20日までの間の年月日,"","")

それぞれの論理式を教えてください。
2019/11/26(火) 21:22:00.13
>>631
=IF(AND(DATE(YEAR(EDATE(A2,-2)),MONTH(EDATE(A2,-2)),21)<=DATE(d2,E2,F2),DATE(YEAR(EDATE(A2,-1)),MONTH(EDATE(A2,-1)),20)>=DATE(D2,E2,F2)),"","")
=IF(AND(DATE(YEAR(EDATE(A2,-1)),MONTH(EDATE(A2,-1)),21)<=DATE(D2,E2,F2),DATE(YEAR(A2),MONTH(A2),20)>=DATE(D2,E2,F2)),"","")
633名無しさん@そうだ選挙にいこう
垢版 |
2019/11/27(水) 19:47:26.67
【1 OSの種類         .】 Windows8
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否


列Aに値が入っていて、C列に日付が入っています
列AにA2と同じ値がある行のC列の中で、最も新しい日付を返す式を教えてください。
(Excel2007なので=MAXIFS(C:C,A:A,A2)は使えません)
2019/11/27(水) 19:58:39.21
>>633
日付でソートしといてA列にフィルタかける
635633
垢版 |
2019/11/27(水) 20:07:49.04
>>634
オートフィルで関数をコピーしたいのと、他のセルにソートすると困る値があるので、関数でお願いします


訂正
×日付
〇年月日

でした
2019/11/27(水) 20:21:49.39
>>633
{=MAX(IF(A:A=A2,C:C))}

Ctrl + Shift + Enter を押して数式を確認する必要があります
637名無しさん@そうだ選挙にいこう
垢版 |
2019/11/27(水) 20:22:28.93
win8excel2007とか絶望的だな
638633
垢版 |
2019/11/27(水) 21:57:24.98
>>636
ありがとうございます。
2019/11/28(木) 16:14:25.49
アスタリスクのみが入ったセルのアスタリスクを削除するにはどうしたらいいですか?
2019/11/28(木) 16:35:47.99
>>639
https://qiita.com/rohinomiya/items/751e425c54efec3c6741
2019/11/29(金) 20:09:15.77
アスタリスクがワイルドカードじゃないやつなら消せるんじゃないの。
SQLとか。
642名無しさん@そうだ選挙にいこう
垢版 |
2019/11/29(金) 20:38:56.17
置換で「~*」を空白に置換でいいんじゃないの
Excelのエスケープ記号は「~」
2019/11/29(金) 21:03:11.43
>>642
Excelの「検索時の」エスケープ記号だ
2019/12/03(火) 00:41:38.13
>>630
どう考えたって{1,2,3,4,5}のままでいいだろ
2019/12/03(火) 21:54:23.62
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel365
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

最近excel365使い始めたばかりですスピルの機能がよくわかりません
昨日sheet1のB2セルに=vlookup(A2,Sheet2!$A$2:$B$10,2,false)と入力したところ
B列の3行目以降最下行まで=vlookup(A2,Sheet2!$A$2:$B$10,2,false)とスピルされました
各行のA列でvlookupしたいんですけどA2固定なのは仕様ですか?
ただ今日全く同じことしたつもりですがスピル自体されませんでした
スピルの発動条件が判りません
2019/12/03(火) 22:09:14.88
>>645
B2 =vlookup(A2:A5,Sheet2!A2:B10,2,false)
2019/12/03(火) 22:09:31.56
>>645
ごめんなさい間違ってました
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel365
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

最近excel365使い始めたばかりですスピルの機能がよくわかりません
昨日sheet1のB2セルに=countif($A$2:$A$10000,A2)と入力したところ
B列の3行目以降最下行まで=countif($A$2:$A$10000,A2)とスピルされました
各行のA列でcountifしたいんですけどA2固定なのは仕様ですか?
ただ今日全く同じことしたつもりですがスピル自体されませんでした
スピルの発動条件が判りません
648645
垢版 |
2019/12/03(火) 22:16:01.74
>>646
ごめんなさい
正しくは
>>647
です
2019/12/03(火) 23:22:16.48
>>647
A2しか入れてないからA2しか出ない
2019/12/03(火) 23:37:16.73
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2019
【3 VBAが使えるか    .】 超余裕
【4 VBAでの回答の可否】 可

EXCELを使い始めて20年になりますが、スピル機能を知りません。
それって何でしょうか?
2019/12/03(火) 23:48:51.80
>>650
20年前には無かったからです
2019/12/04(水) 00:08:27.96
>>651
マジかwww
俺たちがズボンだと思っているものを、パンツとか言ってるんだと思ったわ。
2019/12/04(水) 00:13:38.35
スピルなんて聞いたのは、時空戦士スピルバン以来だろうか・・。
2019/12/04(水) 00:27:27.24
Excel for Office 365(バージョン:1910〜)
Excel Online
655654
垢版 |
2019/12/04(水) 00:53:27.54
Excelの使い方が激変する「スピル」
http://officetanaka.net/excel/excel2016/13.htm
2019/12/04(水) 01:54:41.52
感覚的にはスピルでやるより各セルに数式書きたいけど、この感覚ってExcel信用出来ないから電卓で計算しろという老害と同じ感覚なんだろな
時代に取り残されないように新しいものを取り込んでいかなきゃな
657645
垢版 |
2019/12/04(水) 02:39:20.93
>>649
>>655
ありがとうございます
今excel365も該当のファイルも会社なので確認できていませんが
スピルについてくぐってみた限り=countif($A$2:$A$10000,A2:A10000)なら
スピルされて目的の結果が得られるのかな?と思うのですが
=countif($A$2:$A$10000,A2)でスピルされたりされなかったりというのが
よくわかりません
たまたま昨日ばぐってただけなんですかね?
2019/12/04(水) 08:41:10.20
スピルが実用化されたら、ゴースト部分を無理矢理編集しようと無駄に格闘して時間潰す人達が続出しそうだな
ベタ打ちで式壊して焼け野原になるのは少しは減りそうか
2019/12/04(水) 19:29:51.61
>>657
後者の場合されないはずなんだが…
あと絶対参照にする必要ない
2019/12/04(水) 19:51:25.30
拙者、てっきりハンドスピナーの仲間かと。
2019/12/05(木) 12:45:54.60
関数?なにそれ?レベルの本当の初心者にオススメの参考書等あるでしょうか?
1冊買ってやってみようと思ってまして…。
662名無しさん@そうだ選挙にいこう
垢版 |
2019/12/05(木) 12:53:39.66
>>661
ググって分かる程度のなら売ってる
逆に関数使って何をしたいのかと
なんとなくじゃ身に付かない
2019/12/05(木) 13:00:10.55
エクセル講座のあるパソコン教室で使う教材が良い
2019/12/05(木) 15:58:12.72
関数なんてググれば秒で終わるし、使う関数なんてたかが知れてるから参考書だと使いもしない関数色々紹介してそう
2019/12/05(木) 17:22:25.57
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

商品番号を打ち込むとvlookupで資材リストから商品名必要資材名とその枚数が表示される表を10個作りました。
10商品分の必要資材一覧としてまとめて羅列した時に重複してる資材は1欄に纏めて合計値を表示させたいです。

統合を使うと商品切り替えた時に資材名まで反映されずに同じセルを参照し続けるせいで正しい必要数が追えません。

何かいい方法はありますか?
長文で失礼しましたが宜しくお願いします。
666名無しさん@そうだ選挙にいこう
垢版 |
2019/12/05(木) 18:43:11.05
>>665
Excel 統合
でググって
667名無しさん@そうだ選挙にいこう
垢版 |
2019/12/05(木) 19:03:41.63
Excelのファイルの名前を日付だけ変えるように頼んでいるのですが
データのサイズが時々変わっています
これはデータの中身もいじっているってことでしょうか?
中身が同じでもサイズが変わるってありますか?
2019/12/05(木) 19:05:18.79
スピルって
It is no use crying over spilt milk
のspillか
669名無しさん@そうだ選挙にいこう
垢版 |
2019/12/05(木) 19:05:59.05
>>665
どういう表から統合しようとしてるのか
統合元範囲はどう指定しているのか
を示さないからレスできんわ。
670名無しさん@そうだ選挙にいこう
垢版 |
2019/12/05(木) 19:08:01.60
>>668
そうそれ、なんか溢れるっていうマイナスイメージ持ってしまうが
671名無しさん@そうだ選挙にいこう
垢版 |
2019/12/05(木) 19:14:39.96
>>667
ファイル名はファイルシステムの管理領域にあってファイルの実体とは直接関係ない
なのでファイル名の長さとかでサイズが変わることはない。
いじっているかどうかは比較してみればええやん。
どういうツールで比較できるかはスレ違いなのでググって
672名無しさん@そうだ選挙にいこう
垢版 |
2019/12/05(木) 19:19:17.83
>>671
わかりました
ファイルの量的に自分で探すのはきついのでツールあったら探してみます

ちなみに同じファイルでも保存すれば1000KBが1001KBや999KBになったりってありますかね?
データをダウンロードしたときに誤差で1KBずれるとかってあるのでしょうか?
673665
垢版 |
2019/12/05(木) 20:05:55.48
https://i.imgur.com/OjaoRtl.jpg
すいません、一応名前は仮にしてあります。
5ケタに数字打ち込むと別ファイルの資材リストから商品名なら資材やらが1〜10に表示されます。
商品ごとに資材の並びがバラバラ(同じ資材Aでも商品Aでは一番目で商品Bでは2番目など)です。
これで統合したあとに商品Aを商品Aに変えると、資材名とかは切り替わるのに統合のリンクは資材Aがあった一番上を見続けるという具合です。
5ケタを変えても同名の資材を合算表示したいんです
674名無しさん@そうだ選挙にいこう
垢版 |
2019/12/05(木) 20:31:34.04
添付ファイル記載の表の左上から右下に向かって、-のセル以外の箇所に右の数字一覧を入れていくにはどういうマクロを組めばいいでしょうか?
https://dotup.org/uploda/dotup.org2008361.zip.html
イメージ
1 - ・・・
- 8
2 9
3 10
4 11
5 12
6 13
7 14
2019/12/05(木) 20:36:30.90
マクロは怖いなぁ
2019/12/05(木) 20:39:13.81
>>672
正確にダウンロード出来てない場合など
2019/12/05(木) 20:39:51.17
>>674
画像貼って
678名無しさん@そうだ選挙にいこう
垢版 |
2019/12/05(木) 20:57:43.89
>>677
https://dotup.org/uploda/dotup.org2008391.jpg.html
2019/12/05(木) 22:55:20.78
>>678
表の行位置が奇数か偶数で列番号の開始位置変わるようにして2ずつカウントアップすればいいんじゃね
2019/12/05(木) 22:57:48.30
横じゃなくて縦に入れていくのか、勘違いした
セルの値が"-"だったら飛ばせばいい
2019/12/06(金) 00:02:31.88
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

https://i.imgur.com/1cNE6Bk.jpg
こんな感じで名前がズラーっと並んでる列からリストの中の名前だけ抜いた数をカウントする方法を教えてください
2019/12/06(金) 00:07:55.82
>>681
(1)counta関数で、A列の値があるセル数をカウントする。
(2)countif関数で、リストに該当があるセルの個数をカウントする。
(1)から(2)を引いたのが求める数
683名無しさん@そうだ選挙にいこう
垢版 |
2019/12/06(金) 00:34:13.93
>>679
なるほどわからん状態です・・
684名無しさん@そうだ選挙にいこう
垢版 |
2019/12/06(金) 06:19:49.95
>>673
エクセル方眼紙か
そんなの使ってるから誤動作するんじゃね
2019/12/06(金) 06:40:38.04
>>673
その統合元に対して上端行にチェックはおかしくない?
2019/12/06(金) 10:57:23.94
>>672
ダウンロードするときに直接Excelで開いてるとか
セルに表示されている以外にもいろいろな内容がZIP圧縮されて保存されるから、Excelで保存する度に実際のファイル内容は変るよ
名前の変更もエクスプローラとかでやらないと、比較ツールのチェックも通らないよ
2019/12/06(金) 12:04:04.15
>>673
まずエクセル方眼をやめて表の構造を単純にしたのち、ピボットテーブルを使う
各商品ごとの並びも横じゃなくて縦にすれば複数範囲にする必要もなくなるよ
688665
垢版 |
2019/12/06(金) 17:31:13.70
>>687
ピボットテーブル使ったら上手く行きました!ありがとうございました!
2019/12/06(金) 20:40:48.75
>>683
それ間違えて書きこんだやつだから>>680をやれ
2019/12/06(金) 20:53:47.64
>>674
Sub ボタン1_Click()

Dim i, j, k As Long

k = 3

For j = 2 To 7
For i = 3 To 10
If Cells(i, j).Value <> "-" Then
Cells(i, j).Value = Cells(k, 9)
k = k + 1
End If
Next i, j

End Sub

https://dotup.org/uploda/dotup.org2009064.jpg.html
691名無しさん@そうだ選挙にいこう
垢版 |
2019/12/07(土) 09:20:58.75
スピルでやっと表計算らしくなった気がする。
方眼紙とかに慣れてる連中は対応できずに慌てそう
2019/12/07(土) 09:28:19.98
素直にDB使えばいいのに
2019/12/07(土) 09:46:39.68
>>678
どんな用途に使おうとしてんだwwwww
694名無しさん@そうだ選挙にいこう
垢版 |
2019/12/07(土) 17:32:59.49
>>690
ありがとうございます
この場合、右下に42が入ったらそのまま次の表の左上に43から記入されるようにできないでしょうか?
2019/12/07(土) 23:00:43.80
>>694
表の最後まで行ったらカウント戻せばいいだけでは
2019/12/07(土) 23:22:44.54
【1 OSの種類         .】 Windows 7
【2 Excelのバージョン   】 Excel 13
【3 VBAが使えるか    .】 幼稚園児程度
【4 VBAでの回答の可否】 否

テーブルで ctrl+d したときに縞模様まで
コピーされる時と されない時がある。
されない方法を教えてください。

またテーブルですが 最終列に挿入すると
縞模様がちょっと違い、どうしても同じになりません。
テーブルの解除、再設定してもダメです。

教えてください。お願いします

【質問不可】で質問してしまった質問です。
よろしくお願いいたします。
2019/12/08(日) 00:31:06.74
>>696
状況がさっぱりわからん
698名無しさん@そうだ選挙にいこう
垢版 |
2019/12/08(日) 11:40:07.39
>>697
幼稚園児からの質問じゃ、まともに答えなくて良いだろう
2019/12/08(日) 12:47:26.58
>>695
すみませんよくわかりません・・

ちなみに記入の開始地点を任意のセルにすることはできますか?
2019/12/08(日) 15:24:32.08
>>699
回答ろくに読んでないのか?iが行番号でjが列番号だろ…
701名無しさん@そうだ選挙にいこう
垢版 |
2019/12/08(日) 16:58:06.67
>>696
縞模様って何?
斜線の事か?
代替行の事なら奇数行と偶数行で交互にそうなるだけやん
手動で設定したいなら条件付き書式でやれば?
702名無しさん@そうだ選挙にいこう
垢版 |
2019/12/08(日) 17:11:29.55
そもそも代替行なんて行を罫線で区切る習慣の無いアメリカとかで上下の行の境を示すためだけのもん

だから行挿入で容易に背景色が変わるし
コピペの対象外となる

というかこんなまでコピペされたら鬱陶しいわ
703名無しさん@そうだ選挙にいこう
垢版 |
2019/12/08(日) 17:13:42.41
ちなみに条件付き書式ならともかく
手動で背景色を設定し
それに意味を持たせるのは
ある意味危険
704696
垢版 |
2019/12/08(日) 17:15:27.57
>>697
二つ目の「最終列に挿入するとちょっと模様が違う」は
使用に問題ないし説明できる気がしないので
良いんですが、
下記が切実なのでおしえてほしいです。

同ブック内のAシートのテーブルでは上のセルをコピーしても
縞模様(背景色)はペーストされず、文字列、数値などはペーストされます。
これでOKなのですが
同ブック内で新規作成したBシートのテーブルでは
上のセルをコピーすると背景色までペーストされてしまい
見た目メチャクチャです。

なぜこうなるのでしょうか。
705696
垢版 |
2019/12/08(日) 17:20:02.71
縞模様=テーブルのスタイルです
2019/12/08(日) 17:38:59.15
自分が見てる画面を他人も見てる前提の質問ほんと多いな…
2019/12/08(日) 17:45:01.07
>>704
テーブルのデザインではなく元々そのセルの背景色が設定されてるからでないの
2019/12/08(日) 18:08:08.29
エスパーが答えるから問題ない
2019/12/08(日) 18:24:18.83
コピペ後に一回白くしたらダメなの?
710696
垢版 |
2019/12/08(日) 18:35:52.76
>>707
「テーブルとして書式設定」をクリックして
選んだだけです

>>709
すごい手間です
2019/12/08(日) 18:50:10.54
>>710
セルに背景色が設定されてるかどうかは確認した?
2019/12/08(日) 18:51:27.03
>>708
エスパーさせといて余計なことは答えるなとか言われたりこっちは問題しか感じんわ
2019/12/08(日) 21:37:45.48
A1に「りんご」と入力すると、
B2のハイパーリンクが「http://serch=りんご」
になるようにしたいのですが、B2にどのように記載すればいいですか?
2019/12/08(日) 21:40:40.89
>>713
indirect
715名無しさん@そうだ選挙にいこう
垢版 |
2019/12/08(日) 21:44:52.73
>>705
んなもん分かるか!
こういう情報小出しにする奴って大嫌い
勝手に悩んでおればええで
716名無しさん@そうだ選挙にいこう
垢版 |
2019/12/08(日) 21:46:19.64
>>710
その手間掛ければええやん。
俺ら全然損しないしなwwww
717名無しさん@そうだ選挙にいこう
垢版 |
2019/12/08(日) 22:03:54.53
>>713
=HYPERLINK("http://serch="&A1)
2019/12/08(日) 22:04:14.71
>>713
B2 = HYPERLINK("http://serch=";&A1)
じゃダメ?
719713
垢版 |
2019/12/09(月) 00:51:48.06
>>717
>>718
出来ました!
ありがとうございます!
720713
垢版 |
2019/12/09(月) 01:34:39.59
同じような質問なのですが、A1に「りんご」と入力すると、
B2のハイパーリンクが「http://serch=りんご/abc.html」
にるようにするには、B2にどのように記載すればいいですか?

B2 = HYPERLINK("http://serch=";&A1"/abc.html)
としても、なぜかうまくいきませんでした
721名無しさん@そうだ選挙にいこう
垢版 |
2019/12/09(月) 02:29:16.52
りんごをエンコードしないといけないんじゃなかったっけ
722名無しさん@そうだ選挙にいこう
垢版 |
2019/12/09(月) 06:13:34.69
>>720
HYPERINK("http://serch=";&A1&"/abc.html")

>>721
エンコードって?
A1に文字列入ってるならこれでOKなハズだが
何か必要なの?
723名無しさん@そうだ選挙にいこう
垢版 |
2019/12/09(月) 06:13:35.01
>>720
HYPERINK("http://serch=";&A1&"/abc.html")

>>721
エンコードって?
A1に文字列入ってるならこれでOKなハズだが
何か必要なの?
724名無しさん@そうだ選挙にいこう
垢版 |
2019/12/09(月) 06:31:15.07
>>720
&は文字列を結合する演算子

A1に文字列が入っていればそれを&で繋いだ文字列になる。
単純な話ですがな。

A1をわざわざindirect("A"&1)と書いても同じだが、意味は無い。
725名無しさん@そうだ選挙にいこう
垢版 |
2019/12/09(月) 07:22:17.57
スピルが適用できる部分は
ベクトル化してる訳で
MSは将来的にはGPGPUによる演算高速化も
睨んでると思われ
2019/12/09(月) 08:07:12.23
URLエンコードじゃね
今どきのブラウザなら文字列そのままURLにいれても勝手にエンコードしてくれるけど、古いブラウザだとURLと認めない場合もあったような
727名無しさん@そうだ選挙にいこう
垢版 |
2019/12/09(月) 12:22:09.37
>>726
Hyperlink関数をかませてあるんで問題ないかと
元々URLは只の文字列だしね
728名無しさん@そうだ選挙にいこう
垢版 |
2019/12/09(月) 19:09:59.52
>>726
んじゃ、エンコードすんのを
HYPERINK("http://serch=";&ENCODEURL(A1)&"/abc.html")
2019/12/09(月) 19:39:50.86
ちなみに、
千葉が台風15号でエラい目に遭ってたとき、
自治体の住所一覧
(例:千葉市緑区、千葉県南房総市安馬谷・・・等の列が入ったテーブル)
なんてテーブルの右側に

・Googleマップへのリンク
= HYPERLINK("https://www.google.co.jp/maps/place/";&[@地区所在地])

・Google検索へのリンク
=HYPERLINK("https://www.google.co.jp/search?num=50&;q="&[@地区所在地])

で、エンコード不要でいけた。
730名無しさん@そうだ選挙にいこう
垢版 |
2019/12/09(月) 19:47:41.27
HYPERINK(CONCATENATE("http://serch=";,ENCODEURL(A1),"/abc.html"))
でもよいが、長すぎる
2019/12/09(月) 22:02:33.50
>>699
https://dotup.org/uploda/dotup.org2011396.jpg

Sub 入力()

Dim i, j, k, l, c, r As Long

'アクティブセルの行と列を取得
c = ActiveCell.Column
r = ActiveCell.Row

'表の範囲内にあるか判定
If c < 2 Or 7 < c Or r < 3 Or 10 < r Then
MsgBox "範囲外です。", vbExclamation
Exit Sub
End If
2019/12/09(月) 22:03:17.87
>>731
k = 3

For j = c To 7
For i = 3 To 10

'Cells(i, j).Select
'最初にFor Nextループに入った時、
'アクティブセルから入力開始するように、
'iの数値をアクティブセルの行にする。
If j = c And i = 3 Then
i = r
End If

'空白セルに表の右の数字を順番に入力
If Cells(i, j) <> "-" Then
Cells(i, j) = Cells(k, 9)
k = k + 1
End If

Next i, j
2019/12/09(月) 22:03:55.53
>>732
For l = 0 To 1
For j = 2 To 7
For i = 13 + l * 10 To 20 + l * 10

Cells(i, j).Select
If Cells(i, j) <> "-" Then
Cells(i, j) = Cells(k, 9)
k = k + 1
End If

Next i, j, l

End Sub

Sub クリア()

Range("m3:r10").Copy
Range("b3").PasteSpecial
Range("b13").PasteSpecial
Range("b23").PasteSpecial
Range("b3").Select
Application.CutCopyMode = False

End Sub
2019/12/10(火) 02:21:33.96
URLの日本語を16進にエンコードが必要かどうかはサイトごとに違う
エンコード不要だけどシフトJISは通らなくてユニコードに変換とか、色々あってけっこうめんどくさい
735名無しさん@そうだ選挙にいこう
垢版 |
2019/12/10(火) 07:28:17.67
もう
ユニコードに非対応の鯖もブラウザも使ってないだろうから
わざわざ%文字にエンコードしなくても良いかと思うんだが
どうなんだろう?
736名無しさん@そうだ選挙にいこう
垢版 |
2019/12/10(火) 07:34:25.85
知らないなら何も書かなくていいから
回答以外興味なし
737名無しさん@そうだ選挙にいこう
垢版 |
2019/12/10(火) 08:07:56.45
>>736
お前が興味あるかどうかに
俺は興味ない
738720
垢版 |
2019/12/10(火) 16:17:43.73
720です。皆様ありがとうございます。
多分私の例が良くなくて、うまく行かなかったので再度お助けいただきたく存じます。

やりたいこと
「A1」に「りんご」と入力すると、B2のハイパーリンクが↓のような、googleサイト内検索になる
https://www.google.com/search?&;q=%E3%82%8A%E3%82%93%E3%81%94+site%3Ahttps%3A%2F%2Fkakaku.com

試したこと
>>723を参考に
=HYPERINK("https://www.google.com/search?&;q="&A1&"+site%3Ahttps%3A%2F")

=HYPERINK("https://www.google.com/search?&;q="&A1&"+site:https://kakaku.com";)

>>728を参考に
=HYPERINK("https://www.google.com/search?&;q="&ENCODEURL(A1)&"+site%3Ahttps%3A%2F")

=HYPERINK("https://www.google.com/search?&;q="&ENCODEURL(A1)&"+site:https://kakaku.com";)

>>730を参考に
=HYPERINK(CONCATENATE("https://www.google.com/search?&;q=",ENCODEURL(A1),"+site%3Ahttps%3A%2F"))

=HYPERINK(CONCATENATE("https://www.google.com/search?&;q=",ENCODEURL(A1),"+site:https://kakaku.com";))

これらすべてダメでした。
「+」が含まれていることが原因な気もしますが、どのように修正すべきかわかりません。
2019/12/10(火) 16:34:24.63
A1の後ろいらん
2019/12/10(火) 17:25:26.64
>>738
=HYPERLINK("https://www.google.com/search?&;q="&A1&"+site:https:%2F%2Fkakaku.com")
2019/12/10(火) 17:49:11.95
>>738
手入力で、価格ドットコムサイト限定で「りんご」をググるときは、
"site:"のアタマに"+"は要らなかった。

なので、" "(半角ブランク)にして、エンコード変換もせず、
B1 =HYPERLINK("https://www.google.com/search?&;q="&$A1&" site:https://kakaku.com";)
で行けたけど?
2019/12/10(火) 18:06:13.19
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

互換性チェックのメッセージが表示されるのを停止したい(保存時,キャンセル時)
旧バージョンExcelのExcelファイルを開いた後、保存または終了するとき「互換性チェック」のダイアログをアドインで出さない方法はありませんか?

↓が期待する方法と思われますが怖くてダウンロードできません
https://oshiete.goo.ne.jp/qa/6512314.html
2019/12/10(火) 20:25:57.87
>>742
中身これだけだったな
setapp=〜の部分は良く分からなかったけど、単にイベントにかませるだけで行けるみたい

Option Explicit
Private WithEvents App As Application

Private Sub Workbook_Open()
Set App = Application
End Sub

Private Sub App_WorkbookBeforeSave(ByVal Wb As Workbook, ByVal SaveAsUI As Boolean, Cancel As Boolean)
Wb.CheckCompatibility = False
End Sub
2019/12/11(水) 06:38:15.45
>>743
ありがとうございます。試してみます。
745名無しさん@そうだ選挙にいこう
垢版 |
2019/12/11(水) 14:13:00.77
>>741
気になったので調べて見た
https://www.suzukikenichi.com/blog/which-shold-you-use-space-20-or-plus-in-urls-containing-space/
を読むと、URLの区切り記号は%20が万能っぽいので
=HYPERLINK("http://www.google.com/search?q=";&$A1&"%20site:http://kakaku.com";)
が安全かなと
2019/12/11(水) 19:36:38.06
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可


1つのエクセルファイルに複数のシート
[1][2][3]・・・・[49][50] (50ヶほどのシート)が
内包されているのですが、

これをそれぞれ別のエクセルファイル
1.xlsx (シート[1]の内容のみ入ってる)
2.xlsx (シート[2]の内容のみ入ってる)
3.xlsx (以下同上)



49.xlsx
50.xlsx

と分割して保存したいのですが
簡単な操作で可能でしょうか?

シートのタブを右クリック→移動またはコピー→移動先ブック名を(新しいブック)に→名前を付けて保存
と、1つ1つやるのが辛くなってきました
2019/12/11(水) 20:26:08.71
>>746

もっとスマートな書き方があるとは思うけど。

Sub makebook()

Dim i As Long
Dim myShCnt As Long
Dim myDir As String

myDir = ThisWorkbook.Path
myShCnt = Worksheets.Count

For i = 1 To myShCnt
Sheets(i).Copy
ActiveWorkbook.SaveAs myDir & "\" & Sheets(1).Name
ActiveWorkbook.Close
Next i

End Sub
748745
垢版 |
2019/12/11(水) 21:33:55.36
>>746
ふぉぉぉ
日々のひと手間が楽になりそうです。
ありがとうございました。
2019/12/12(木) 10:44:26.08
この式はスピルにできます?
http://imgur.com/R1UN89Z.png
750749
垢版 |
2019/12/12(木) 12:45:46.53
>>749だけどsumif offsetでできました
これ以外に方法あります?
http://imgur.com/vkMhsbq.png

sumif indexだと出来ませんでした
http://imgur.com/Y07kmMB.png
2019/12/12(木) 12:51:30.25
INDEXはセル番地指定でoffsetは範囲指定だったような
2019/12/12(木) 12:52:02.34
EXCEL2019でセルを複数選択するのに
コントロールキーとシフトキーの同時押しが効かないのですが
仕様が変わったのですか?
2010までは複数選択可能だったような気がするのですが。
ちなみにシフトキーだけで複数選択可能なのは知っています。
2019/12/12(木) 12:53:35.70
最後に選択範囲をマウスで位置指定した場合です
2019/12/12(木) 13:03:44.36
ctrl+shift+↓とかで連続した複数範囲の指定はするけど
最後をマウスで指定するならctrlは要らない
飛び飛びの複数セルを指定するならctrlだけでshiftは要らない
ctrl+shift+マウスを使う場面が分からない
2019/12/12(木) 14:10:11.03
同時に押しておけばシフトキーを離しただけで個別指定に移れるから。
実際2010までは出来たはず。
2019/12/12(木) 14:10:49.64
【1 OSの種類         .】 Windows 10
【2 Excelのバージョン   】 Excel 2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

E列に 「=A列*B列&" x "C列*D列」
という計算結果を表示させ

A列*B列の結果を赤字で表示
C列*D列の結果を青字で表示

という風にするにはどのようにしたら良いのでしょうか?
757757
垢版 |
2019/12/12(木) 14:14:52.20
E列に 「=A列*B列&" x "&C列*D列」

です。 抜けていました、すみません
2019/12/12(木) 14:19:16.33
>>750
C14 =C2:G2
B15 =UNIQUE(B3:B12)
C15 =SUMIF(B3:B13,B15#,OFFSET(C3:C14,0,SEQUENCE(1,COLUMNS(C14#),0)))
759758
垢版 |
2019/12/12(木) 14:23:10.78
C15 =SUMIF(B3:B12,B15#,OFFSET(C3:C12,0,SEQUENCE(1,COLUMNS(C14#),0))
760749
垢版 |
2019/12/12(木) 15:11:44.49
>>758
ごめん、14行目とB15:B19は入力規則で見たいデータだけ打ち込みたいのでuniqueは使えないんです
後からすみません
2019/12/12(木) 16:35:01.41
【1 OSの種類         .】 Windows 10
【2 Excelのバージョン   】 Excel 2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

列ごとに一気に降順で並べ替えをする方法を教えて下さい
行には各セルごとに1つずつ数字が入っています
行1 1234
行2 2546
行3 3457
これを
行1 3557
行2 2446
行3 1234
こうなるのが目標です
762名無しさん@そうだ選挙にいこう
垢版 |
2019/12/12(木) 17:53:54.31
>>761
VBA 使わないんじゃ無理
ソートするマクロ作って
列名だけ入れ替えてループだろうけど
2019/12/12(木) 18:30:24.26
largeで並び替えて値貼り付け
2019/12/12(木) 19:30:25.66
>>762-763
ありがとうございます
LARGE関数でやりたいことが出来ました
感謝します
2019/12/12(木) 19:51:39.59
>>756
1セルでやりたいなら無理
766名無しさん@そうだ選挙にいこう
垢版 |
2019/12/13(金) 06:20:29.97
>>756
Excelには文字単位で色を変える機能なし
なので無理
2019/12/13(金) 07:04:22.35
>>756
セルの中の一部分だけ色を変えるのは自動では無理
手動でやるかVBAが必要

どうしても自動でやりたいなら
E列=A*B
F列=" x "
G列=C*D
みたいにセルを分けるしかない

VBAならこう
Sub Macro1()
x = Trim(Str(Range("A1") * Range("B1")))
y = Trim(Str(Range("C1") * Range("D1")))
Range("E1") = x & " x " & y
Range("E1").Characters(Start:=1, Length:=Len(x)).Font.Color = vbRed
Range("E1").Characters(Start:=Len(x) + 4, Length:=Len(y)).Font.Color = vbBlue
End Sub
2019/12/13(金) 15:31:07.38
>>765-767
ご丁寧なレスありがとうございました。
2019/12/13(金) 19:38:58.91
複数の書式設定をマージすることって出来ますか?
2019/12/13(金) 20:15:06.42
マクロ入りの97-2003ワークシートを2010で開こうとするとvba コンバータが必要と言われマクロが機能しません
調べてみてもvba コンバータ自体がMicrosoftのページになかったりするのですが、解決策ないでしょうか?
2019/12/13(金) 21:22:48.53
>>750
こんなに難しい式にするのはなぜ?
=sumif($B3:$B12,$B15,C$3:C$12)
をオートフィルじゃだめなの?
2019/12/13(金) 23:17:21.58
>>770
何だそりゃwww
そんなの聞いたことないぞ。
内部的には全然違う意味のエラーなんじゃないか?
2019/12/13(金) 23:51:56.81
>>772
要は古いバージョンで作ったマクロだから新しいバージョンでは動かないってことらしいですが、なんとかならないでしょうか、、
2019/12/14(土) 00:06:05.96
マクロを捨てて良いのか捨ててはいけないのか
2019/12/14(土) 00:16:51.48
理想はマクロ含め完璧なファイルですが、マクロをコピーできるだけでもいいです
2019/12/14(土) 00:24:22.80
マクロ自体は見れる?
・見れる:改修
・見れない:古い環境を再構築してなんとかして移植
2019/12/14(土) 00:29:07.80
開いたら即VBプロジェクトが失われだというメッセージが出てコードが全てなくなっており、全く読めないです・・
778749
垢版 |
2019/12/14(土) 03:52:40.36
>>771
14行目は入力規則で変動にしたいです
あとその式だと右にオートフィル出来ないんで
779名無しさん@そうだ選挙にいこう
垢版 |
2019/12/14(土) 06:26:57.43
特定の日付から本日まで何年何ヶ月経過したかを表示させたいですが、
表示を2桁にできなくて困っています。
「A1」に「2017/04/03」
「B1」に「=DATEDIF(A1,TODAY(),"y")&"年"&DATEDIF(A1,TODAY(),"ym")&"ヶ月"」
と入力すると、「2年8ヶ月」と表示されてしまいます。
この表示を「02年08ヶ月」にしたいのですが、どうすればよいでしょうか?
2019/12/14(土) 08:58:09.97
セルの形をひし形にするにはどうしたらいいですか?
表の一番上をひし形にしたいです。
2019/12/14(土) 10:40:03.36
>>779
=TEXT(DATEDIF(A1,TODAY(),"y"),"00")&"年"&TEXT(DATEDIF(A1,TODAY(),"ym"),"00"&"ヶ月")
2019/12/14(土) 12:14:01.30
>>780
セルそのものは長方形から変更できないから、オートシェイプで囲むとか画像を貼る
2019/12/14(土) 17:59:04.15
WindowsAPIとか使って出来ないのかな。
メニューの文字を変えるくらいなら、それで出来るんだけど。
2019/12/14(土) 23:16:23.10
対象が複雑でここでは相談しにくいので、メールで相談に乗ってくれる神はいませんか
krmwel@じーめーる
2019/12/15(日) 01:54:39.76
>>784
さすがに度が過ぎんだろ
パソコン教室にでも行って来い
2019/12/15(日) 06:49:52.66
「有料で」って言うメールが山ほど行きそう
787779
垢版 |
2019/12/15(日) 18:07:02.28
>>781
ありがとうございます!
2019/12/15(日) 21:52:43.46
もう作ってもらった方が早いだろw
金払えば良いじゃんw
2019/12/16(月) 20:50:29.87
関数が入っていないのにfalseが入っているセルがあります
このセルに影響を与えるセル(要はなにが起こればtrueになるのか、ならないのか)を調べる方法はありますか?
2019/12/16(月) 21:22:37.98
Excelを開くとExcelの中にExcelが開かれるのですが、これを独立した別のExcelとして別々に開くにはどうしたら良いですか?

((´aωa`)(´eωe`))ではなく((´aωa`))((´eωe`))こういう感じにしたいです
791名無しさん@そうだ選挙にいこう
垢版 |
2019/12/16(月) 21:23:08.73
false=0
true=1
792名無しさん@そうだ選挙にいこう
垢版 |
2019/12/16(月) 21:24:13.47
>>790
チョトナニイッテルカワカラナイ
2019/12/16(月) 21:25:24.28
MDIとSDIじゃないの

>>790
エクセルで何かファイル開いた後、エクセルのアイコンをダブルクリック
794名無しさん@そうだ選挙にいこう
垢版 |
2019/12/16(月) 21:28:30.61
Wordを開くとWordの中にWordが開かれるのですが、これを独立した別のWordとして別々に開くにはどうしたら良いですか?

((´・ω・`)(´・ω・`))ではなく((´・ω・`)((´・ω・`)))こういう感じにしたいです
2019/12/16(月) 21:31:06.32
>>792
(´;ω;`)
>>793
ありがと明日会社でやってみる(`・ω・´)

>>794
ちょっとカッコ多いな。
2019/12/16(月) 21:34:15.85
質問する時は相手に伝える気持ちを持って質問してほしい
797名無しさん@そうだ選挙にいこう
垢版 |
2019/12/16(月) 22:25:04.71
期間計算に当たり、年に満たない期間に閏年が含まれているか否かを判別するにはどうしたらいいでしょうか。
例えば、
平成3年8月2日〜平成5年8月15日(平年)について、
平成3年8月2日〜平成5年8月1日までで,2年間
平成5年8月2日〜平成5年8月15日(平年)までで,14日←この14日間に閏年は含まれていない

平成3年8月2日〜平成5年7月15日について、
平成3年8月2日〜平成4年8月1日までで,1年間
平成4年8月2日から(閏年で)〜平成4年12月31日まで,152日←この152日間に閏年は含まれている
平成5年1月1日から(平年で)〜平成5年7月15日までで,196日
2019/12/16(月) 23:04:58.39
3月1日−1が28日か29日で判断するとか
2019/12/16(月) 23:19:30.95
A1 平成5年8月2日
B1 平成5年8月15日
C1 =OR(MONTH(DATE(ROW(INDIRECT(YEAR(A1)&":"&YEAR(B1))),2,29))=2)
800名無しさん@そうだ選挙にいこう
垢版 |
2019/12/17(火) 00:30:34.95
>>798
>>799
ありがとうございます。助かります。

追加で恐縮ですが、期間計算に関する ktDATEDIF関数の初日参入省きverについて、
下記の部分がどうしても理解できません。
解説いただけないでしょうか。
(ulrが貼れないので文章で失礼します)
'注)[DateDiff関数]自体は初日不算入で処理している
から
If (intDay_in_Year > 0) Then
intFracDays = DateAdd("yyyy", 1, wkDate) - wkDate '365 or 366
End If
End If
まで
2019/12/17(火) 07:09:37.27
>>797,799
A1 平成3年8月2日
B1 平成5年8月15日
C1 =AND(DATEDIF($A1,$B1+1,"yd"),OR(MONTH(DATE(ROW(INDIRECT(YEAR(EDATE($A1,12*DATEDIF($A1,$B1+1,"y")))&":"&YEAR($B1))),2,29))=2))
2019/12/17(火) 08:17:56.57
>>784
EXCEL系youtuberに相談したら動画にしてくれそう
803名無しさん@そうだ選挙にいこう
垢版 |
2019/12/17(火) 09:35:20.33
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

B2のセルに以下のように自動入力したいです。
A1のセルに ABC の文字列を含む時、〇を返し、それ以外は×を返す。さらに EDF の文字列を含む場合は△を返す。

IF文とCOUNTIFを使って、〇を返し、それ以外は×を返すまではできましたが、 EDFの文字列を...のとこがうまくいきませんでした。
2019/12/17(火) 10:06:02.95
>>797
単純に
=(DAY(DATE(YEAR(A1),2,29))+DAY(DATE(YEAR(B1),2,29)))>2
2019/12/17(火) 10:44:54.86
>>803
△の返し方が特定できないけど

=IF(ISERROR(FIND("EDF",A1)) , IF(ISERROR(FIND("ABC",A1)),"×","○") , "△") とか
=IF(ISERROR(FIND("ABC",A1)),"×","○") & IF(ISERROR(FIND("EDF",A1)),,"△") とか
=IF(ISERROR(FIND("ABC",A1)) ,IF(ISERROR(FIND("EDF",A1)),"×","×△") ,"○") とか
...
806名無しさん@そうだ選挙にいこう
垢版 |
2019/12/17(火) 12:43:16.20
>>805
ありがとうございます。
応用して、FINDの中身を"EDF"もしくは"GHI"の時、△を返すみたいにしたいのですが、
ORなどを使ってもうまくいきません。
この場合どうしたらよいでしょうか。
807名無しさん@そうだ選挙にいこう
垢版 |
2019/12/17(火) 12:47:23.98
>>800
wkDateには何が入ってるんや?
808名無しさん@そうだ選挙にいこう
垢版 |
2019/12/17(火) 12:50:41.88
>>806
応用で出来るだろ
まあswitch関数使った方がスッキリするが
809名無しさん@そうだ選挙にいこう
垢版 |
2019/12/17(火) 13:03:01.23
>>808
switch関数が使えないのですが...
2019/12/17(火) 13:33:00.99
>>806
=IF(OR(ISNUMBER(FIND("EDF",A1)),ISNUMBER(FIND("GHI",A1))),"△",IF(ISNUMBER(FIND("ABC",A1)),"○","×"))
811名無しさん@そうだ選挙にいこう
垢版 |
2019/12/17(火) 14:02:36.02
>>810
ありがとうございます。応用が利きそうなものができました。
2019/12/17(火) 19:48:28.04
>>807
それもよくわからないです、、
2019/12/17(火) 20:29:43.32
>>812
それを分からなくてどう理解しようとしてたんだ…
2019/12/18(水) 10:13:52.46
パワークエリの質問もここでいいの?
2019/12/18(水) 12:39:50.99
>>814
書いてくれればわかる人が答えるでしょ
816名無しさん@そうだ選挙にいこう
垢版 |
2019/12/19(木) 18:18:42.66
>>812
どこが分からないのか示してくれないと
レスも付かないよ
なお、ぜんぶ説明しろというのは甘え過ぎ
そもそも、どうしてその関数の動きを理解したいのか
分からない

一応見てみたが順を追って変数の変動を追えば
理解できるな

ひょっとしてユーザー定義関数の追加方法も知らないとかか
817749
垢版 |
2019/12/19(木) 23:43:46.97
sumproductがスピル出来なくて困ってます
配列関数は配列数式じゃないからダメだよとかそんな感じなんですかね?
この画像をスピルしたいです
http://imgur.com/qa6tB3n.png

ちなみにこれならスピル出来ました
http://imgur.com/m2ygqwJ.png
2019/12/20(金) 00:10:38.74
関係ないけど右辺と左辺がモヤモヤするわ
2019/12/20(金) 00:13:44.20
その数式にスピルしたい範囲入れて出来なかったん?
2019/12/20(金) 07:43:08.87
>>817
絶対参照はずしてみたら?
821749
垢版 |
2019/12/20(金) 07:54:33.78
>>819
出来なかった

>>820
もちろん外したけど出来なかったんです
2019/12/20(金) 09:10:49.53
>>817
=SUMPRODUCT((B15:B20=B3:B12)*(C14:G14=C2:G2)*C3:G12)

スピル 出来ダメ
=(B15:B20=B3:B12)*(C14:G14=C2:G2)*C3:G12 ← SUM
823749
垢版 |
2019/12/20(金) 12:32:12.16
>>822
???
出来ませんでした
やっぱSUMPRODUCTやSUMだけではスピル出来ないんですかね…
2019/12/20(金) 13:13:08.16
=MMULT(MMULT(-(TRANSPOSE(B3:B12)=B15:B19),C3:G12),-(TRANSPOSE(C2:G2)=C14:G14))
825749
垢版 |
2019/12/20(金) 19:02:43.03
>>824
#VALUE!
2019/12/20(金) 19:52:47.09
>>825
中のMMULT(〜)をINDEX(MMULT(〜),)にしてもダメですか?
2019/12/21(土) 08:12:51.91
【1 OSの種類         .】 Windows 7
【2 Excelのバージョン   】 Excel 2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

A1のセルに「200」と入力して別のB列の「5つ」のセルには 「30%」「40%」「30%」「数値無し」「数値無し」
と入力してある状態で、200を比率の割合で分割してC列に表示するのですがその場合返ってくる
表示が「60」「80」「60」「#VAUE」「#VAUE」となってしまいます。C列のセルには「IF(A1="","",A1/B1)」
となっています。この「#VAUE」表示を無くすにはどうしたらいいのでしょうか?

IF条件の中にB列にも無入力の場合は計算しないとやればいいのはなんとなく分かるんですが
その具体的な書き方がわかりません。AND関数を入れてもエクセルに怒られます。

初心者ですみません。
2019/12/21(土) 08:48:59.98
>>827
=IF(B1="","",A$1*B1)
2019/12/21(土) 09:50:15.56
iferror(b1/a1,0)
2019/12/21(土) 12:48:31.97
>>828
ありがとうございます。早速つかってみたら上手くいきました。
びっくりしています。
2019/12/21(土) 12:58:26.36
>>829
ありがとうございます。知らない関数ですが調べてみたら色々
使えそうですね。これもちょこちょこつかわさせて頂きます。
2019/12/21(土) 13:13:35.86
>>828すらわかってないのにどれだけ関数を知ってるつもりでいたんだよ…
2019/12/21(土) 14:23:40.07
関数を知っているのと使いこなすのとは別だからね
たくさん関数を覚えても頭が悪いと応用が利かない
2019/12/21(土) 15:18:56.30
>>833
>>827は応用云々レベルじゃないだろw
2019/12/21(土) 16:23:38.64
次のご質問をどうぞ(^▽^)
836名無しさん@そうだ選挙にいこう
垢版 |
2019/12/26(木) 17:40:31.97
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

簡潔に質問文をまとめるのが難しくて、どうか乱文を解読していただきたいのですが…
具体例の方が少しでも分かりやすいかと思い具体的に書きます
グラフの作成方法についての質問です

2019年度の個人売上表があるとします。月毎に集計されている売上です
(A列:1月,2月,3月…)
スタッフは複数人。仮にAさんBさんCさんの3人とします
(B列:Aさん, Bさん…)
グラフに入れたい要素は、α案件数・β案件数・売上額の3要素とします
(C列:α案件数)(D列:β案件数)(E列:売上額)

ただ今、E列以外の要素でグラフが作成済みです
縦軸目盛りは案件数、横軸は各月毎に各担当名が記載されているグラフです
α案件数+β案件数で積み上げ棒グラフになっています
https://hamachan.info/win7/Excel/tumigraph.html
このサイトを参考に作成しました

このグラフに各スタッフの売上額をそれぞれ折れ線グラフで追加したいのですが、
https://support.microsoft.com/ja-jp/help/954219
https://www.randstad.co.jp/careerhub/skillup/excel/20170322.html

このやり方では、うまく各担当毎の折れ線グラフになってくれません

何か上手い方法は無いもんでしょうか?
837836
垢版 |
2019/12/26(木) 19:04:10.30
グラフの項目名が縦書きになっている場合、pdfでエクスポートすると横書きに戻ってしまいグチャグチャで読めません
こちらの対策も教えていただけると嬉しいです!
2019/12/26(木) 20:32:46.37
>>836
ざっくり作ってみたけど、イメージとしてはこんなこと?
見にくいけど・・・

元表
https://i.imgur.com/nebZswl.png

グラフ
https://i.imgur.com/ycZMlu1.png
2019/12/27(金) 15:44:28.51
ある列のセルでエンターを押したら指定しただけoffsetさせるにはどう書けばいいですか?
2019/12/27(金) 18:49:58.90
シートチェンジイベントで

a = ActiveCell.Row
b = ActiveCell.Column

で、Enter押したら、

Cells(a + オフセットしたい値, b + オフセットしたい値).Select

とか。
2019/12/27(金) 22:36:00.78
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

excelvbaで accessクエリのフィールド名と関連付いてるテーブル名の取得の仕方を教えてください。

   A
1  テーブル名.フイールド名
2019/12/28(土) 00:33:01.84
>>840
enter押したらって表現ありますか?
2019/12/28(土) 05:10:14.44
シートチェンジイベントだつってんだろ
2019/12/28(土) 17:27:13.82
>>840
シートチェンジイベントだと値に変更があった時しか動かないと思うんですが、空白セルでenter押した時も動くようにできないですか?
2019/12/28(土) 17:38:51.07
>>844
onkey
846846
垢版 |
2019/12/30(月) 17:12:38.55
【1 OSの種類         .】 Windows10 64bit
【2 Excelのバージョン   】 Excel2019
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

データベース用の表1のデータ情報をもとに、表2のデータの数値を出しています。

例えば、表1に証券会社毎の貸株料、権利付日(+受渡日)、権利落日(+受渡日)、東証の営業日等を入力(厳密には入力のみならず、関数を駆使して様々なデータを表示)し、
表2では銘柄一覧が表示され、本日から権利落日までの証券会社毎の貸株料、必要費用などが自動で産出されるようにしており銘柄選びをしています。

ところが表1、表2はセルの幅等も全く異なっており、同じシートで下記のように斜めにズラして表示させても、挿入や入れ替えなどの編集を行ったときに常に互いに干渉しないかチェックする必要があり、面倒です。
■□
□■
※左上の■が表2、右下の■が表1

そこで表1、表2を別シートで管理して他シートからの引用で何とかしようとしてみたのですが、
例えば同じシート内であれば表1の場所を移動したり、行を挿入して追加したりしても、それに合わせて表2の関数も自動で変更され不具合がなかったのが、
別シートにしてしまうと表1の位置を動かしたりするだけで表2でエラーが出現してしまい、自由に編集ができません。
これは元のように同じシート内に表示させておくしかないでしょうか。
もっとスマートなやり方がありますか。
2019/12/30(月) 19:28:29.34
>>846
基本的に別シートでも移動に合わせて式の参照は変わる
848名無しさん@そうだ選挙にいこう
垢版 |
2019/12/31(火) 17:02:53.23
>>846
表1と表2を別シートで作って、更に別のシートにそれぞれをリンク貼り付け
2020/01/03(金) 00:20:51.58
初心者で全く分かりません

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

別ファイルからシート名を取得することは出来ますか?
2020/01/03(金) 00:21:40.91
>>849
開いてるファイルならできる
2020/01/03(金) 00:38:42.95
>>850
返信ありがとうございます。
例えば計画書のファイルが利用者ごとにあり、計画した年月をシート名にしています。利用者が数十名あり、更新の確認を1シートで確認出来ればと思っています。
2020/01/03(金) 19:08:35.35
>>851
各ファイルを開いて取得すればいい
853名無しさん@そうだ選挙にいこう
垢版 |
2020/01/05(日) 16:00:28.74
>>851
年月でシートを分ける理由が分かりません。
シートに年月の欄を付けるだけでは駄目なのでしょうか?
2020/01/05(日) 17:01:15.39
シートだけ12ヶ月分作ってる人がいたら意味なくね。中身見るべきでは?
2020/01/05(日) 18:34:07.27
>>853
シート名取得したいって話と関係ない上にシートの内容も知らないのにそこケチ付ける必要あるか?
2020/01/07(火) 07:23:45.54
EXCEL2019で子丑寅卯辰巳午未申酉戌亥をドラッグしたときの
オートフィル機能を無効にしたいのですがどこで設定すればいいですか?
2020/01/07(火) 20:48:49.09
>>856
右でドラッグしたらただのコピーできるぞ
2020/01/07(火) 21:34:45.97
>>856

>>857か、ユーザ設定リストから削除する
859名無しさん@そうだ選挙にいこう
垢版 |
2020/01/07(火) 23:16:53.05
そんなのにもオートフィル使えるのかよ。
2020/01/07(火) 23:23:59.76
>>856


と入力して子を2つ選択
オートフィル
2020/01/07(火) 23:26:03.39
>>856
Ctrl + ドラッグ
2020/01/07(火) 23:39:00.26
>>860
わざわざ手間かける意味がわからんぞ
2020/01/08(水) 12:37:11.02
>>854
先にシート作ってある方が簡単なような
入力あるとTRUE
ないならFALSE
になるようなセル設定してindirectで状況表示するシート作って
各ファイルのシート状況を一覧表示すれば良いわけだから
864名無しさん@そうだ選挙にいこう
垢版 |
2020/01/08(水) 13:23:14.57
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

ピボットテーブルでカスタマイズしたカラムを追加するとき、
フィールド名に改行が入っている場合はどのように指定すればよいでしょうか?
そのままだとエラーになります

・売上/顧客数 で子客単価を求めたい
・「顧客
数」
と改行されたカラムがある

=売上/ '顧客
数'

とすると、入力した数式は正しくありません
と出ます

それとも、改行が入ってると数式には使えないのでしょうか?
865名無しさん@そうだ選挙にいこう
垢版 |
2020/01/08(水) 13:23:14.86
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

ピボットテーブルでカスタマイズしたカラムを追加するとき、
フィールド名に改行が入っている場合はどのように指定すればよいでしょうか?
そのままだとエラーになります

・売上/顧客数 で子客単価を求めたい
・「顧客
数」
と改行されたカラムがある

=売上/ '顧客
数'

とすると、入力した数式は正しくありません
と出ます

それとも、改行が入ってると数式には使えないのでしょうか?
2020/01/08(水) 14:14:57.10
横書きで2桁しか表示できないセルに2桁+小数点以下の数字を入れると四捨五入されて2桁の表示になってしまいます
セル内の設定で折り返して表示にチェックを入れても変わりません
自動で改行されて、縦2行で表示されるようにはできませんか?
いろいろ試してみたのですが自分では何をしてもうまくいきませんでした
2020/01/08(水) 14:59:24.66
>>866
まず折り返して表示にチェック
次に書式設定の表示形式のユーザー定義で0.00と入れる
この時、小数点の直前でCtrl+Jを1回押す
と、こうなる
https://i.imgur.com/9uUH9uy.png
2020/01/08(水) 15:09:29.63
>>858
ユーザ設定リストの背景が灰色になってて編集できないのですが
何か方法あるのですか?
2020/01/08(水) 15:58:43.07
>>868
デフォのやつは消せないから、代りに子から亥まで一文字ずつ入れると実質無効化できるよ
多用は勧めないけど
2020/01/08(水) 16:04:52.50
>>869
ありがとう。
めんどくさいからコントロールキー使います。
2020/01/08(水) 16:16:26.33
>>867
回答ありがとうございます
見た目はそれをしたいのです
ですがそのやり方を何度も試したのですができませんでした
自分に必要なのは小数点以下1桁なので桁数を減らして0.0でやったりもしたけどできません
文字サイズを小さくすれば改行無しで表示されるので多分何かが足りないのかもしれないです
折り返しのチェックは四角で色付きの状態ではなく普通のチェックマークで正しいですか?
小数点の直前でctrl+jは全てを打ってからではなく、12を打ってからctrl+jを押して、そのまま続けて.34で合ってますか?
2020/01/08(水) 16:28:06.69
>>865
='売上'/...
2020/01/08(水) 16:30:31.40
>>871
Ctrl+jは 0.00のほうだぞ
2020/01/08(水) 16:59:49.50
>>873
小数点以下1桁の場合はまたコマンドが違ったりするのですか?
軽く調べてみたんですが自分じゃ辿り着けなかったので教えていただければ助かります
2020/01/08(水) 17:19:21.27
>>874
書式の所に「0」「Ctrl+J」「小数点」「0」の順に入力するんだよ
876名無しさん@そうだ選挙にいこう
垢版 |
2020/01/08(水) 17:48:18.41
散布図で縦軸と横軸が正方形を作るように作りたいんですが、どうやったらできますか
縦軸が2.00〜-2.50、横軸が-4.00〜2.00
それぞれ0.5刻みで、その0.5刻みごとに交わるようにしたいです
2020/01/08(水) 17:49:22.07
>>875
理解できました
ありがとうございます
878名無しさん@そうだ選挙にいこう
垢版 |
2020/01/08(水) 17:51:28.78
>872
こちらでしたか、ありがとうございます!命が救われました
2020/01/08(水) 18:16:50.35
>>876
だいたいでいいんならマウスでがんばって正方形にする
正確にやりたい時はマクロでPlotAreaのプロパティを設定する
2020/01/08(水) 19:29:34.06
あれ何だろな。
縦横同じ数字にしても正方形にならないの。
2020/01/08(水) 20:41:59.80
>>880
マクロの記録を使うとPlotArea.Height、PlotArea.Widthを再設定するコードが出てくるので、ここで騙される人が多い
このプロパティは軸ラベルまで含んだ領域の寸法が設定されるので、ラベルの設定状態によって縦横比が変わってしまう
プロットエリアの内側のサイズはPlotArea.InsideHeight、PlotArea.InsideWidthで設定できるから、ここに同じ値を入れればちゃんと正方形になる
2020/01/09(木) 00:20:49.25
会社で全員パソコン変えた。
昔使ってたエクセルシートを新しいパソコンで開いてコピーすると色が変になる(´;ω;`)
いつもの色で使いたいんだけどどうしたら良いの?
2020/01/09(木) 00:54:04.74
>>882
テーマを変える
https://excel-meister.com/column/color-change/
2020/01/09(木) 01:05:24.69
>>883
(´;ω;`)つIありがとう明日の会議に間に合いそう!
2020/01/09(木) 04:31:08.97
ここのチェックが入ったら「TRUE」「FALSE」を返す逆をできませんか?https://briarpatch.co.jp/wakaruni/excel-checkmark/
2020/01/09(木) 04:45:20.51
>>885
マクロ(VBA)を使わないと無理
TRUEかFALSEかを別の数式で使うなら、その式を工夫した方が早い
2020/01/09(木) 13:20:35.70
excel のvbaでaccessファイルのマクロを実行することってできますか?詳細plzです
2020/01/09(木) 17:04:40.67
>>887
https://antonsan.net/vt/excel-db/heading-4/page-039
889885
垢版 |
2020/01/09(木) 22:50:29.59
>>886
ありがとうございます。VBAは少しできますが、チェックを入れるマクロができなくて積みました。
890名無しさん@そうだ選挙にいこう
垢版 |
2020/01/10(金) 16:50:21.99
エクセルにハイパーリンクで貼り付けた画像を
通常の埋め込み画像に変換したいのですが、方法が分かる方がいましたらご教授ください。
2020/01/10(金) 17:58:11.91
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel 2019
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

シート'説明資料'のB45に基準となる年
シート'説明資料'のC45に基準となる月

式を使うシートのA2に年、B2に月、C2に日が入力されています。

そこで、シート説明資料の基準となる年月を基準(当月)として、
A2〜C2の年月日が、前月21日〜当月20日であった場合に、同じシートの
DK2の値を返す式を教えてください


以前に作っていただいた式を改良した↓の式だと、A〜Cの値が該当しても
DK2の値がが返ってきませんでした。よろしくお願いします。


=IF(AND(DATE(YEAR(EDATE(説明資料!$B$45&"/"&説明資料!$C$45,-1))
,MONTH(EDATE(説明資料!$B$45&"/"&説明資料!$C$45,-1)),21)<=DATE(A2,B2,C2)
,DATE(YEAR(説明資料!$B$45&"/"&説明資料!$C$45)
,MONTH(説明資料!$B$45&"/"&説明資料!$C$45),20)>=DATE(A2,B2,C2)),DK2,"")
2020/01/10(金) 18:44:44.02
>>891
書かれている式で普通に値返ってくるけど↓でも良いのでは?
=IF(AND(DATE(説明資料!B45,説明資料!C45-1,21)<=DATE(A2,B2,C2),DATE(A2,B2,C2)<=DATE(説明資料!B45,説明資料!C45,20)),DK2,"")

値が返ってこないのであれば説明が間違っている気がする
2020/01/10(金) 21:38:46.29
3回だよ3回
894891
垢版 |
2020/01/11(土) 10:18:58.12
>>892
ありがとうございます。解決しかしたm(__)m
895名無しさん@そうだ選挙にいこう
垢版 |
2020/01/11(土) 10:55:06.75
=sum(if(a1=1,b:b,c:c))
のように、ifで参照先だけ変えるって見づらいですか?
2020/01/11(土) 13:11:06.49
別に問題ないとは思うけど、
=if(a1=1,sum(b:b),sum(c:c))
の方が見やすくない?
2020/01/11(土) 18:40:57.33
=countif(if(a1=1,b:b,c:c),if(a1=1,b2,c2))
みたいになって見辛くなるし意味ないなぁって考えたことはある
よほど長い式の途中なら意味があるかもしれないけど、通常はあんまり意味ない場面が多い気がする
2020/01/16(木) 12:38:29.16
◯◯××
××
という二つのセルがあります。
◯◯は固定の文字ですが××は事案によって異なります。
シートから「◯◯」を検索することによって「◯◯××」セルを探し、そこから「××」のセルを検索し、「××」のセルの記載を「△△××」にするマクロを教えてください。
同じ結果になれば過程にはこだわりません。
2020/01/16(木) 16:58:28.53
>>898
マクロの記録をかけて、
Ctrl+F → ○○ → Alt+F → 置換 → TAB → ×× → TAB → △△×× → Alt+F → Alt+R → マクロ終了

出来たマクロの最初に
mm="○○"
ss="△△"

真ん中辺に
xx=Mid(ActiveCell.String,Len(mm)+1)

とか追加して、
"○○" -> mm
"××"-> xx
"△△××" -> ss & xx
とか置換えると、だいたいできるぞ
2020/01/16(木) 19:16:03.40
また制作依頼か…
901名無しさん@そうだ選挙にいこう
垢版 |
2020/01/16(木) 20:30:39.95
6メガぐらいのexcelブックが開くけど、カーソル動かしたり操作ができず、なにもできない。
どうすればいい?ファイルはあきらめられない
2020/01/16(木) 20:45:06.72
・性能のいいPCで開く
・根気よく待つ
・計算方法を手動にしてみる
903名無しさん@そうだ選挙にいこう
垢版 |
2020/01/16(木) 20:50:16.67
>>902
操作が固まってるなか、計算方法手動にするには、エクセル以外で開けるのですか?
2020/01/16(木) 21:02:36.04
拡張子をzipに変えてxmlになってるデータを引っこ抜け
905名無しさん@そうだ選挙にいこう
垢版 |
2020/01/16(木) 21:10:41.29
>>904
それをメモ帳で開いて、どのタグ変更するの?
2020/01/16(木) 21:44:06.59
>>903
一旦閉じて、新しいExcel開いて手動にしてから開く
2020/01/16(木) 21:47:38.57
>>901
別pcで開いて、中のシートを適当にうつして保存
・スプレッドシートで開いてみる
・ネとカフェのエクセルを使ってみる
2020/01/16(木) 22:24:03.47
うちも2週間ぐらい前に開けないファイルがあって困った
10カラム*24万行のCSVで、気長に待ってたらExcelが落ちた
PCはi7にメモリ16GBでスペック的には十分のはずなのに
2020/01/17(金) 03:48:10.19
24万行のCSVなんてPowerQueryで開いて加工した方がいいのに
2020/01/17(金) 14:15:41.07
【1 OSの種類         .】 Windows 8
【2 Excelのバージョン   】 Excel 2013
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

Dim i , j()
i = Range("A1:C5")
Redim j(UBound(i))

とした時、j に i の列数の5つの配列になるのですが
これを行の3つ分の配列が欲しい場合
どのように指定すればよいのでしょうか?
i.Rows.Countなどでもできませんでした
911910
垢版 |
2020/01/17(金) 14:17:38.41
すみません、行と列が逆でした

i = Range("A1:E3") に置換えさせてください
2020/01/17(金) 19:30:16.73
最終的にどうするの?
セルに貼り付けるのなら、範囲を狭めて貼ればいいけど。
2020/01/17(金) 19:31:45.56
あ、頭から3つとは限らんか。
2020/01/17(金) 20:28:13.81
>>910
UBound調べてないだろ
引数で次元を指定できるのに
2020/01/17(金) 20:32:26.78
それとこれ
>i.Rows.Count
iに何を代入したか理解せず書いてるな
2020/01/19(日) 16:33:10.61
皆、excel使えてうらやましいなぁ・・・
まぁ超超初心者本買って勉強しようとは思ってはいるが・・・・・

俺なんて、フォーマット作れない、入力も一個一個、斜線で区切られているところの
上半分に入力とかできない(真ん中になっちゃう)など、で凄い大変な思いしてるのに・・・・orz

まじで = とか何?ってレベル
2020/01/19(日) 17:05:37.49
>916
>斜線で区切られているところの上半分に入力とかできない(真ん中になっちゃう)な
これは使い方が間違っている

さっさと本買って勉強した方がいいよ
918名無しさん@そうだ選挙にいこう
垢版 |
2020/01/19(日) 22:59:18.68
>>916
斜線入れたセルには入力しないのが普通なんだがなあ
なお、オートシェイプの線なら自由に引ける
2020/01/20(月) 00:00:14.56
【1】 Windows10
【2】 Excel2019
【3】 いいえ
【4】 否

https://www.google.co.jp/amp/s/dekiru.net/article/16390/amp/
を参考にして、A列に権利付日をずらっと入力すれば、B列に権利落日(1営業日後)、C列に権利付の受渡日(2営業日後)、D列に権利落の受渡日(3営業日後)を表示するようにしています

しかし、祝祭日の一覧を移動させても、関数の中身が変わらず、祝祭日を同じ場所を参照してしまっています

祝祭日の一覧を移動させても大丈夫にするにはどうすればいいですか?
2020/01/20(月) 00:03:01.26
>>919
移動させる意味は??
祝祭日用のシートを作って、そこを参照するのが一般的
921名無しさん@そうだ選挙にいこう
垢版 |
2020/01/20(月) 06:10:02.57
ワードエクセルパワーポイント
短期間で学べる方法ってないかな?
2020/01/20(月) 07:32:17.33
>>921
目標を決めて実際に作る
2020/01/20(月) 08:11:12.70
私はVBAを学びたいが何からやればいいのか、どの参考書がいいのかわらかない
2020/01/20(月) 10:41:06.93
RangeオブジェクトにFindメソッドを使ったところ、SubとFanctionで結果が異なるのですが原因が分かれば教えてください

画像汚くてすみません
Fanctionの方はiを戻り値にしています
https://i.imgur.com/hBj7xpl.jpg
2020/01/20(月) 11:02:12.61
>>924
めんどくさがらずにFunctionの方も晒して
2020/01/20(月) 11:10:45.67
>>925
プリントアウトしてみました
処理としてはmyRangeに祝日テーブル、keyWordに当日+2を入れて次の営業日を探しています
https://i.imgur.com/z8liT0L.jpg
2020/01/20(月) 11:48:11.85
>>926
R2〜セルとK9セルは、ちゃんとDate型になってる?
2020/01/20(月) 14:08:42.41
>>927
その辺りをlsDateで調べるとすべてTrue判定になります
これはSubとFanctionどちらも同じ結果になります
2020/01/20(月) 14:14:55.01
Range("R2:R32") って実際にはどこなんだろう
2020/01/20(月) 19:12:32.73
@>>888ですが、excelからaccessのマクロを実行しようとするとopencurrentdatebaseの箇所でメソッドまたはデータメンバーが見つかりませんというエラーが出ます、何がいけないのでしょうか。

Aあるieページにあるリンクの文字列(≠URL)のずらっと抜き出す方法はないでしょうか。
2020/01/20(月) 20:16:46.01
>>924
これはシートモジュール?
932名無しさん@そうだ選挙にいこう
垢版 |
2020/01/20(月) 21:00:48.84
>>930
どういうコードを実行してそうなったか晒さずに、答えなど得られる訳もない
2020/01/21(火) 03:42:49.26
>>930 (2)
ソースからAタグで囲まれた文字列を取り出せばいい
2020/01/21(火) 09:07:00.24
>>930
× opencurrentdatebase
○ OpenCurrentDatabase
Access関連を参照設定に入れないで>>888やったら、1行目でエラーでてそこまでいかなかった
参照設定すれば、頭文字が小文字->大文字変換されるし入力候補にも出てくるから、そうならないなら打ち間違いを疑うべきだよ
935919
垢版 |
2020/01/21(火) 12:16:37.66
>>920
おっしゃる通りなんですが、作成時はExcelが自動で参照先を変更してくれるとばかり思い込んでおり、
祝祭日を変な場所に作ってしまったまま、他のも作成してしまったのです
権利日とか以外にも色々とそこを参照にしてしまってるセルが大量にあり、修正作業がヤバいことになります

もし>>919が無理なら質問を変えます
選択範囲のセル内の関数をすべて置き換えるような操作の仕方はありますか?
例えば、選択範囲のセル内関数の中で、「A1」を全て「B2」に置き換えるような操作です
2020/01/21(火) 12:34:26.74
>>935
普通に置換すれば数式も書き換わるよ
2020/01/21(火) 14:29:49.96
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel不明
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可・否

https://i.imgur.com/7RvjGUP.jpg
残業の時間数をまとめる為の数式を教えてください。
赤で塗り潰した箇所のデータを参照して黄色の所に残業時間の合計を入れたいのですが、1つ1つ選択するのは大変なため赤色にデータを入れたら黄色に反映されるようにしたいです。
黄色にはどのような数式を入れたら良いですか?
2020/01/21(火) 14:35:41.72
バージョン不明だとxlsxじゃなくてxls方式が無難か
2020/01/21(火) 16:53:18.70
>>937
2行目に項目名入れて欄外にピボットテーブルがいいと思う
2020/01/21(火) 19:08:41.51
>>937
SUMIF
941名無しさん@そうだ選挙にいこう
垢版 |
2020/01/21(火) 19:17:32.32
>>937
SUMIF関数使えばええだろ
2020/01/21(火) 22:23:30.36
部署別で合計をしたい時にSAMIFを使うならB10に
=SAMIF(B2:B7,A10,E2:E7)で出来ますか?
2020/01/21(火) 23:18:10.55
>>923
本屋でVBA関連の本めくってみて自分で良さそうだと思ったの買ってやってみるといいよ
触りがわかればあとはググりながら進んでいけると思う
やりたいことを詳しく説明してる本ってあんまりないから
ネットで探した方が似たようなことやりたがってる人が多い気がする
2020/01/22(水) 00:24:03.93
>>942
やってみ
2020/01/22(水) 00:51:49.39
>>944
できませんでした。何故ですか?
2020/01/22(水) 00:54:16.90
○ SUMIF
× SAMIF
2020/01/22(水) 06:29:52.33
画面内のセルがある部分の内容を拡大したいのですが,「表示倍率」を用いると,ABC…や123…のバー(正式名称がわかりません)も拡大されてしまいます。
これでは画面内のセルのある部分が狭くなってしまいます。
ABC…や123…のバーの部分はそのままで,セルがある部分のみ拡大する方法があれば教えていただきたいです。
マクロでもかまいません。よろしくお願いいたします。
2020/01/22(水) 06:43:39.96
>>947
そのセルをコピーして「リンクされた図」で別の場所に貼付けて、
図をドラッグして拡大したら?
949名無しさん@そうだ選挙にいこう
垢版 |
2020/01/22(水) 08:15:47.09
>>947
方法1 拡大鏡を使う
お手軽だけど毎回操作面倒
方法2 フォームを使う
セルの位置や大きさは自由になるが作るの面倒
2020/01/22(水) 08:19:16.81
フォントと行高列幅変えるだけでいいんじゃないの
2020/01/22(水) 09:12:04.36
昨日からoutlookも消えて...........EXCELも消えた
と思ったら全部消えている
しかも再インスコできねーーーーーーーーーーーーーーーーーーーーーーよ
マイクソソフトのアカウントにログインもできねーーーーーーーーーーーーー
うぉーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
2020/01/22(水) 09:22:12.15
条件でフォントの種類やサイズや色を変えたりできるん?
2020/01/22(水) 12:32:50.44
>>934
ありがとうございます、確認してみます

別件ですが、セルの書式設定以外で頭の「-」(マイナス)記号を文字列として認識させる方法はないでしょうか?
例えば「-30.1.1」と入力するとworksheetchangeとreplaceで「H30.1.1」と日付書式で表示したい次第です。
2020/01/22(水) 18:47:40.45
何でそんな不思議なことをしたいのか知らんけど、マイナスなら0未満かどうかを調べればいいのでは?
2020/01/22(水) 19:00:35.24
>>946
SUMIFにしましたが0と表示されます。何故ですか?
2020/01/22(水) 19:11:42.35
>>955
SUM(E2:E7)はいくつ?
どこかに、=A10=B2 と入れて、TRUEになる?
2020/01/22(水) 21:22:30.85
>>954
テンキーだけで日付入力できると便利なんです
そして内容がよくわかりません・・マイナスかどうか調べるとはどういうことでしょうか
2020/01/22(水) 21:30:21.74
>>957
テンキーだけで日付入力できるだろ 
2020/01/22(水) 21:34:08.64
>>957
*にしとけ
2020/01/22(水) 21:43:20.53
>>957
ってかそもそも、
-30.1.1
エラーになって入力できない
予め文字列にでも設定する必要がある
で、イカのコード書いたら無限ループになってフリーズしたわ
https://i.imgur.com/96ENYjm.png

自動計算止める奴ってなんだっけな、あのコードいれたらイケる
2020/01/22(水) 22:04:08.99
>>960
そういう時は自動計算じゃなくてイベントの発生を止めるんだよ
EnableEventsでぐぐれ
2020/01/22(水) 22:06:34.83
>>958
和暦入力をテンキーだけでする方法ありますか?
>>959
−をH,+をRに割り当てると綺麗に行きそうなので挑戦してます
>>960
calculationmanualですか?これだとダメでした。
displayalertみたいにエラー表示を無視する方法あればいいんですが・・
2020/01/22(水) 22:13:15.77
>>962
1桁なら令和、2桁なら平成でいいじゃん
そもそも何のデータよ
2020/01/22(水) 22:17:36.52
if target 範囲内
EnableEvents=true
replace 
書式設定の変更
EnableEvents=false

こんな投げrやろな
今日は眠たいから寝るぜ
2020/01/22(水) 22:18:56.44
>>963
それだと例えば10.1.1が令和10年なのか平成10年なのかの区別をつけてくれないんです。どちらもあり得るので・・
データとしては単純に和暦入力をずらっと書き連ねると思ってください。
2020/01/22(水) 22:24:51.79
>>965
本当にあり得るの?あんた8年後(令和10年)になっても同じ仕事を続けてるつもり?
そんなら平成はそのままで、令和は40を足して41から始めればいい
2020/01/22(水) 22:27:29.86
過去の日付を入力する仕事なら平成のが圧倒的に多いだろうから、平成はそのまま入れて、令和の時だけ*を付けるようにしたらいいと思うんだけど
別に逆でもいいけど、2種類あるのを区別できればいいんだから、片方だけマークすればいいのでは
2020/01/22(水) 22:28:14.54
エスパー
後出しで西暦も昭和も入れたいとか言い出す
2020/01/22(水) 22:36:27.65
>>966
恐らく伝票入力をする程度だと思うぞ

まぁ俺なら令和にピリオド付ける程度にするけど
2020/01/22(水) 22:36:49.21
まぁもうちょっと正確に言ったほうがいいとは思う
2020/01/22(水) 22:41:47.01
>>969
20年以上も前の伝票を入力する仕事なんてあるの?
文書の保管なんてたいがい7年間とかそんなもんでしょ
2020/01/22(水) 22:43:04.45
いまだに平成や昭和が出てきて、それなりに数のある文書と言えば車検証なんかが思い浮かぶ
2020/01/22(水) 22:45:15.89
人の話を聞かないバッテリー女の予感しかしない
2020/01/22(水) 22:49:38.59
>>971
んでそのネガティブ思考が何か自体wp進展させるの?
2020/01/22(水) 22:51:40.60
>>972
公文書なら幾らでもある
ただ、手元のデータはできるだけ西暦にしておいたほうが良い
いつ天皇が死ぬかわからん
2020/01/22(水) 23:07:19.95
何だいきなりバツ&テリーって。
2020/01/22(水) 23:12:34.93
どうせマクロで加工する前提なんでしょ
入力する時はセルの書式を文字列にしといて、記号を変換する時に書式もマクロで日付に変えればいいじゃん
978名無しさん@そうだ選挙にいこう
垢版 |
2020/01/22(水) 23:58:08.55
請求書を作っているのですが、毎月請求したり入金があったりで動きがある場合に、1年間の内訳を表示して、毎月変動する請求額を頭に持っていくことってできますか?

今月請求額 ◯◯◯円

請求残額
1月分 1,000円 1,000円
2月分 1,500円 2,500円
入金 1,000円 1,500円
3月分 2,000円 3,500円


のように、1枚の請求書に1年分の内訳を表示した請求書を作りたいんですが、毎月の請求額を頭の方の1つのセル(仮にC3)にドンと大きく表示させたいのです。
C3に1月なら1,000円、2月なら2,500円…といった風にその月の請求残額がC3に飛んでいくようにすることってできるのでしょうか?

うまく説明できなくて分かりづらいですが、色々関数なんかを調べても見つかりませんでした。
2020/01/23(木) 00:03:04.25
>>962
エラー制御はON Error GoToだがエラーを無視する必要性がない
VBA使うなら単純に入力した文字列拾って好きなように加工すりゃいいじゃん
2020/01/23(木) 00:07:33.73
>>978
その金額が入ってるセルをC3から参照するだけじゃないんか
2020/01/23(木) 03:18:03.23
>>956
0になってしまいます。
2020/01/23(木) 07:12:18.49
「飛ぶ」という言葉は違和感あるんだよなー
「参照」で良いような
2020/01/23(木) 07:33:19.62
F5はジャンプだし、まぁ
2020/01/23(木) 08:34:38.43
>>981
多分、E列とH列が文字列になってる
数値になってないと、普通の方法じゃ計算できない

一旦E,H列だけ内容を消して、表示形式を標準にしてから、打直した方がいいよ
数値として入力できれば、表示が右揃えになるからそこで判断できるよ
2020/01/23(木) 09:14:34.92
>>965
Excelの仕様に関する問題だから、表示形式 文字列 を使う気がないなら、
-と+にこだわらないで、*と . にする事を強く推奨(/ はオプションをいじる必要があるので外した)
個人的にはWorksheet_Changeイベなんて乱用するべきじゃないと思うから、作業列を使ったほうがいいくらいだと思う

スレチだけど、そういうことやりたければ、AutoHotKey使うのも手だぞ
細かい事気にしなければ
NumPadSub::H
NumPadAdd::R
だけでいける

でも、スレチだからフォローはしない
986名無しさん@そうだ選挙にいこう
垢版 |
2020/01/23(木) 14:11:57.93
>>978です
飛ばすではなく参照ですか。
すみません、全くのド素人でなんとなくで扱ってきたので専門用語がめちゃくちゃです…


A B C
1 1月分 1000円 1000円(=B1)
2 2月分 1500円 2500円(=C1+B2)
3 3月分 2000円 4500円(=C2+B3)


こんな感じで計算しているんですが、B2を入力した時点では2500円を、B3を入力した時点では4500円を、どこか他のセルに参照させることはできますか?
仮にE1に参照させたい場合、E1に=C2と入れればC2の2500円は表示されますが、B3を入力してももちろんE1はそのままになります。
それをB3に入力すると、C3に式をいれているとC3に参照されるので、その変化をE1に参照できるような方法はあるのか?あれば教えてもらいたいなと思いました。
2020/01/23(木) 14:45:03.40
>>986
=SUM(B:B)
2020/01/23(木) 15:31:12.89
>>986
=MAX(C:C)
989名無しさん@そうだ選挙にいこう
垢版 |
2020/01/23(木) 15:47:03.62
>>988ありがとうございます!できました!こんなに簡単だとは…
>>987さんもありがとうございました。
2020/01/23(木) 15:49:13.28
>>986
=INDIRECT("C"&CELL("ROW"))
991名無しさん@そうだ選挙にいこう
垢版 |
2020/01/23(木) 17:57:23.50
>>990さん、もしかしたらこの算式が1番しっくりきそうな気がします!今Excelが開けないので、また後程試してみます!ありがとうございます。
>>988さんのだと、最大値を抜き出してくれる関数のようなので、入金があった場合にその月の残額が前月以前よりも少なくなるときに反映されなくなってしまいました。
金額のプラスしかないときには988さんの算式で事足りるので、ケース毎に使い分けます。
2020/01/23(木) 21:05:34.55
>>991
>>987が一番いい気がするのだが、、
2020/01/24(金) 22:05:20.75
>>991
他に条件が追加されなければ、>>987で決まりでしょう。
質問のような場合で、「ケースによって使い分ける」というのはあまり良くない。
どうしても共通化できない場合には仕方ないけど。
2020/01/24(金) 23:40:13.85
Office365 の新機能
XLOOKUP関数の最終行セル
2020/01/29(水) 20:37:22.49
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 いいえ


次のような表があり、

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

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

を関数で表したいです。
「表の中で値段が一番安い県」ですと
=INDEX(A1:C6,MATCH(MIN(B1:B6),B1:B6,0),1)
で表せたのですが、さらに「B列がそばの中で」など、
表の中から抽出する条件の中での最安値を出すにはどのような表記になるでしょうか?
2020/01/29(水) 21:04:49.27
おっちゃん難しいこたぁわかんねぇけんど、
安いそばが一番上にくるようにソートした方がはえぇと思うよ。
2020/01/29(水) 21:21:24.11
>>995
D1 =IF(B1="そば",C1,"")
 ・
 ・

=INDEX(A1:C7,MATCH(MIN(D1:D7),D1:D7,0),1)
2020/01/30(木) 00:08:07.10
【1 OSの種類         .】 Windows8
【2 Excelのバージョン   】 Excel2019
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 J
2020/01/30(木) 00:24:52.60
 それは俺にも無理だ・・・
2020/01/30(木) 00:41:06.97
次スレ
Excel総合相談所 138
https://mevius.5ch.net/test/read.cgi/bsoft/1580312430/
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 113日 4時間 34分 48秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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