Excel総合相談所 136
■ このスレッドは過去ログ倉庫に格納されています
【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 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Googleスプレッドシート
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
配列数式ArrayFormulaを使って複数行に関数を反映させたいのですが
同じ列の特定の行から下は別のデータが入っていて上書きエラーになります。
配列数式ArrayFormulaを特定の行までという指定をすることは可能でしょうか。 >>152
GoogleスプレッドシートとExcelは別物 >>153
別物なのは知っています。
このスレは過去Googleスプレッドシートの質問も受け付けていましたが
ルールが変更されたのでしょうか。 >>154
ここは昔からExcelの質スレだよ
スレチの質問でも多めに見てくれる人はいるよ
でもそれは当然じゃないよ >>154
分かった、答える。答えるから…
だからそういう態度やめて…
基本的にみんな善意で答えてくれてるんだから
あんまり答えてもらって当然、みたいな態度はね…
別にスプレッドシートの質問に答えちゃ駄目とかいう
ルールもないし、かといって質問してもいいルールも
あるワケじゃないけど、ここが何のスレなのかご存知のハズ。
回答してくれる人達みんな機械的なルールに則って
答えてるワケじゃないんだから…たまにはwordの
質問なんかにも答えてくれることだってあるかもしれない。
でもそれを当然の様に思っちゃダメですよ、それは
親切な人が偶々(たまたま)答えてくれたに過ぎないんですから。
前スレでは確かに、スプレッドシートの話しがチラホラ出ていたし
質問もあったね、アナタと同じテンプレの方で
その質問には回答が付いてなかったように思います。
いやもちろんアナタが、回答も付かないのにスレ違いの質問を
2回繰り返すような愚を犯すなんて私は思ってないから…
すいません、質問のお返事でしたね…
答えは可能です。これでよろしいでしょうか? 一応、スプレッドシート関連はこんなスレあった
Google総合★27
https://mevius.5ch.net/test/read.cgi/google/1541933815/
Google Docs & Spreadsheets
https://mevius.5ch.net/test/read.cgi/esite/1174514457/
スプレッドシートはExcelの関数と微妙に違ったり出来ること出来ないことが違ったりするから俺には回答出来ないわ 【1 OSの種類 】 Windows10
【2 Excelのバージョン 】 WPS Spreadsheets
【3 VBAが使えるか】いいえ
【4 VBAでの回答の可否】否
数量が変化する表から2つの条件を満たした指定列のセルの文字を返したいのですが同じものが複数存在します
A B C
1 1 あ
1 1 あ
1 2 い
2 1 あ
2 1 い
2 1 い
2 1 い
A列=1 B列=1 ならば「あ」
A列=1 B列=2 ならば「い」
A列=2 B列=1 ならば「い」
みたいに出来る方法を教えて下さい >>158
間違いました
A B C
1 1 あ
1 1 あ
1 2 い
2 1 あ
2 2 い
2 2 い
2 2 い
A列=1 B列=1 ならば「あ」
A列=1 B列=2 ならば「い」
A列=2 B列=2 ならば「い」 間違ってるのはここだろ
>【2 Excelのバージョン 】 WPS Spreadsheets >>158-159
D1=(A1&B1)*1
E1=22
※調べたい数
F1=INDEX(C:C,MATCH(E1,D:D,0))
キングソフトは止めたほうが良いよ >>161
言葉足らずで申し訳ない
別のシートのセル
A1=1 B1=1 C1=取り出したい文字列
A2=1 B2=2 C2=
A3=2 B3=1 C3=
てな感じで条件に合った文字だけ排出したいんです
各条件が1個しかない場合は分かるのですが複数の場合はエラーが出ます
条件が一致してる文字は常に同じなので一度纏めてからの方が良いのでしょうが纏めずに排出したいです >>160
EXCEL 2007 もあります
どちらでも良いですが新しい方がと思い類似品をあげてしまいました >>162
>各条件が1個しかない場合は分かるのですが複数の場合はエラー
これキングソフトの独自仕様。Excel、googleスプレッドシートではエラーが出ない
せめてgogleスプレッドシートを使った方が良い
あと、キーをまとめずにやる方法はvbaしかない
作業列を作ればキーをまとめなくてもいい方法もあるけど
キングソフトの独自仕様までは付き合えないかな >>164
なるほど
EXCEL 2007で作ります
=VLOOKUP(A1&B1',sheet2!A:C,3,0)だとエラーになります
答えが同じ文字でも複数存在するからですよね
良い方法をご教授下さい >>165
=VLOOKUP(A1&B1,sheet2!A:C,3,0)でした >>168
NAは見つからないエラー
>>165
>答えが同じ文字でも複数存在するからですよね
違う
存在しないからエラーが返っている 複数存在する場合は最初の行が返ってくるのでエラーにはならない 検索条件のセルは検索範囲と別途シートで別行にあるのが問題なんでしょうか?
K3=1 A3=1
=VLOOKUP(K3&A5,sheet2!A:C,3,0)
実際はこんな感じです >>171
どういう構成なのかよくわからんが、
K3&A5
が
sheet2!A列
にないからエラーになっている
暇だからブックごとアップしてくれれば見るよ >>172
残念ですが会社のなんであげられらないっす
一度sheet2のAとB列を結合させてC行に表示させ検索範囲をC:Dにして2行目の値を返したら複数あっても最初のセルが返りました
作業行を作らず出来る方法があるのでしょうか? 無ければ作業行を入れて使用します >>172
とりあえず解説して頂いて違いが分かりました
凄く助かります >>173
作業列な
列は縦、行は横
作業列は必須
どうしても嫌ならフィルタを使うぐらいしかない >>175
列でしたw
フィルタは使用したくないので作業列を設けてやります
色々助かりました 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel 2016
ジョーシン電気で、エクセルのシリアル買いました Win10はノートPC付属の正規品です
エクセルを開くと必ず「3日以内にライセンス認証しろやゴルァ」の画面が表示されます
認証の画面でシリアルを入れると、「すでに登録されたシリアルです」みたいに表示されて
手詰まりになりました どうすれば、この問題を解決できますか? よろぴこ >>177 追記です スマソ
エクセルは2年ほど前にシリアルを登録して、2年ほどは普通に使えていました >>177
人によっては回答する気無くすから普通に質問した方が良いと思う 日付を入力する際、「30125」と入れれば「H30.1.25」.「31815」と入れれば「R1.8.15」と変換されるようなセルの書式設定等ありませんか? >>183
6桁にしないと
31125などが判別付かない
ってわけで6桁用
=DATE(LEFT(A1,2)+1988,MID(A1,3,2)*1,RIGHT(A1,2)*1)
>>184
日本語で 関数が知りたいんじゃなくて書式設定で表示する方法が知りたいんじゃない?
俺にはわからんけど >>187
俺に言われましても…>>183に言ってやれよ MOS受けようと思って365solo買ったのですが、これって2019ですよね?
試験は2016みたいだけど、もしかして自分やらかしちゃったかんじ? >>189
365は常に最新版
2019と2016はそんなに変わらないから問題ない。全然余裕 >>185
ありがとうございます、実現できれば関数でも大丈夫です
31125などは0入れて6桁にすればいいんですよね?
それと別件の質問ですが、VBAでIEを操作するために既に開いている画面のHTMLを取得した後、リンククリックで遷移した先の画面で、更にその画面のHTMLを取得する工程は必要ですか?
うまく伝わらなかったらすみません MOSの資格を持っているのですが本当に基本的なことしかできません
名前だけ聞いてすごくできると思われるといろいろ困ることがあるのですが
一応取った資格なのに隠すのも損な気がします
この程度の資格は表に出さないほうがいいのでしょうか?
たいしたことはないわりに名前は立派なのも困ります MOSはマイクロソフトの資格の中では評価される方だと思う >>192
Documentメソッドが失敗するときとうまく行くときの違いはなんですか・・ >>193
持ってることをアピールするってことはその知識があるってことをアピールすることになるわけだから、そう思われて困るなら敢えて出す必要なくない >>192
>VBAでIEを操作するために既に開いている画面のHTMLを取得した後、リンククリックで遷移した先の画面で、更にその画面のHTMLを取得する工程は必要ですか?
うむ、よくわからん
>>193
面接で勉強して資格はとってますが実務未経験ですって言えばいいだけ
隠すのは変だよ >>197
わかりにくくてすみません、少し質問を変えます
VBAでページ@内のリンクをクリックし、別窓でページAが開きました
この場合ページAを更に操作するにはページAをVBAで操作できるように改めてHTMLに格納?する作業は必要ですか? >>198
確かtarget=_blankは行けるけどwindow.openは無理とか微妙な違いがあったはず
そのページを見てみないと分からない
vba ie 別窓 操作
とかで検索してみて
ちなみに格納するのは変数
個人的にはhrefを取得してもう一回IEオブジェクト作り直した方が手っ取り早いとは思う >>196
面接とか履歴書で少しでもアピールするために
とりあえず持っている資格を書いてしまうと
誤解される原因となってしまうことがあります
>>197
一応実務が全く未経験ってわけではないのですが
自分でマクロ作ったりとかそういうのはできないので
実力的には普通の人と変わらないので
その辺がいろいろややこしいです >>200
なるほど・・調べてみますね
さらに別件ですがダウンロードウィンドウをVBAで操作するにはどうしたらいいですか?
sendkey だとうまく行かないのですが・・ >>201
むしろ敢えて出すとしたら履歴書に書くときぐらいだと思うんだが >>191
ありがとうございます、バージョン書いてないので肝冷えて焦ってました >>203
別件じゃなくない?後はvbaスレでやってきて 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2013
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
セル内の改行を関数で\マークに置き換えたいのですがどうすればいいですか?
【例】
おはようございます。
今日の天気は晴れです。
明日は雨です。
↓
おはようございます。\今日の天気は晴れです。\明日は雨です。 置換機能で[Ctrl]+[J]を¥に置換でいけるんじゃない 置換じゃダメで関数に拘る理由がないと
これ以上はちょっと >>207
その工数を減らすのが目的です。
その後にするステップもあるので自動化したいんです。 >>210
置換じゃダメで関数じゃないとダメだから聞いておるのだ >>212
そうなのだ
これでいいのだ
バカボンのパパなのだ なんでそんなにExcelの関数やらVBAが出てくるの?エンジニアなの? 手作業でもできることを自動化したい時はマクロの記録をするんだ マクロの記録なんて実務で使ってる人見たことないな。 >>198
何か VBA で IE を操作する 本の一冊でも買っていますか? 一冊買ってしまったほうが早いですよ 本は悪手だと思う
サイトに書かれてるのですら最新のIEでは動作しなかったりする
最近勉強し始めた人は複数のサイト調べて自分なりにカスタマイズ出来るようでないとIE操作系は難しいと思うよ あ、 確かにネットのは動かないことも多いです。
原因のひとつが 大抵 バージョンとかも書いていないこと IEのバージョンも参照設定も書かれてないことが多いね
参照設定次第でコード変わるから同じ事やっててもサイトによって書いてるコードが違う コードは長くなるけどバージョンが違っても参照設定しなくても動くように書く方法もあるんで、あとは書く人の能力とか方針次第なんだよなあ 参考書なら個人の方針とか関係なくどう書かれたコードかという説明は書くべきじゃないかな >219
バリバリ使ってるぞ
ctrl+↑とかctrl+end、行列の削除辺りは割とよく使う 一つのプロシージャ内で複数のcallを記載する場合、変数の重複はカウントされますか? >変数の重複はカウントされますか?
ちょっと良く分からないですが、同じ名前の変数が混ざるかどうかって話しなら
スコープ、ローカル変数、グローバル変数で検索してみて下さい >>229
例えば
sub hoge()
call 1
call 2
end sub
で、call1.2の中に同じ変数宣言がある場合、その変数宣言は1で一旦解放されますか?
それとも解放されない=変数重複のエラーが出ますか? >>230
宣言を解放するの意味が分からない
変数にnothing入れて解放しても宣言が重複するとエラーになる
無理に分からない単語を使わない方が良い
ってか、試したほうが早いと思うけどエラーにはならない
ちなみにstaticだと変数の中身は継続するけど関係ないかな
Sub foo()
For i = 1 To 10
Call a
Call b
Next
End Sub
Static Sub a()
Dim ax
Dim bx
ax = ax + 1
Debug.Print ax
End Sub
Sub b()
Dim ax
Dim bx
bx = bx + 1
Debug.Print bx
End Sub >>230
プロシージャ内で宣言した変数はプロシージャ内だけのものなので被ってても関係ない
変数がstaticな場合初期化はされないが名前被りとは無関係 >>145
遅レスでたいへんスマン
見てるのはchrome?
sourceの中見てみたけど114行目に該当するところにアドレス全店仕込まれてるのが分からず
もう少し詳しくどこを見るか教えてくれるとありがたい >>234
たぶん>>145は早合点してると思われる
114行目のjsonに含まれるURLはショップのリストではない
こういう動的なサイトからデータを抜き出すには、パケットを解析してWeb APIを調べるぐらいしかないと思う
勝手なWeb API呼び出しが禁止されててデータの取り出しが絶対的に不可能なケースってのは、今のところあんまりないと思う
このあたりの話になるとExcelは関係なくなってくるし、VBAを使わないと難しいことも多いんで、あきらめるか方針を変えて貰うしかない >>235
だよね、いくら見てもないはずだw
たしかにもうexcelの範疇じゃないな
かといってvbaでないと、というものでもないから範囲広げて考えてみるわ
サンキューでした >>227
そういやあれ何だろな。
Cells(1, Rows.Count).End(xlUp).Rowって、最終行特定のテンプレみたいになってるけど、
フィルタ掛かってると使えないし、UsedRenge〜を使う応用編だと検索設定変わっちゃうし、
何かまともな方法無いんかな。
しょうがないから、俺、ADOのレコード件数で判定してるわ。 >>237
その方法でも途中に空白あったら使えなくない?
ループで1行ずつ見るのは時間がかかるし、一時的にフィルター解除するかなあ VBA初心者でこれから勉強を頑張りたいと思っているものですが、初心者で取っつきやすい書籍を数冊教えて欲しいです。今はExcelVBAのツボとコツがゼッタイわかる本の超入門とプログラミング実践編の2冊を読んで実際にVBEに入力してみた感じです。よろしくお願いします。 あとExcelVBAふりがなプログラミングとたった1秒で仕事が片付くExcel自動化の教科書の2冊も読みました。これから先の勉強法なども教えていただけると嬉しいです。 >>240
それだけ読めば十分初心者じゃなくなってると思う
VBAの機能を何もかも全部覚えるのは不可能だから、あとはVBAでやりたい仕事ができたら、目的に応じてネット検索すればいい >>241
ありがとうございます。
4冊を読んで『たった1秒。。。』は少し難しかったですが、後の3冊は特にわからないような箇所はなかったです。けど自分がイメージしているマクロをすぐに書けと言われても間違いなく書けません。
これからは書きたいマクロをExcel上でどの様な動きをするか箇条書きにして、それをネット、マクロの辞書などを頼りにして書いていくというやり方でいいでしょうか? そんな丸ごと3冊も本理解してるなら十分1人でできるんでは 参考書を読みながら実際に動かして試してみることが大事
読むだけでは無理 >>234
これショップのリストにしか見えないけど間違っていたのか
https://i.imgur.com/xBVseYa.png
>>237
そうか、入力と出力は絶対に分けるから気づかなかった
フィルタ掛けてると狂うのかこれ >>242
イメージするのはブックやシートの最終形だ。途中は変な事していなければベタ書きで良い
コードなんてずっと書いてればこなれてくる。vba質問スレかこのスレの過去ログ読んで、実戦形式で取り組んで見ると良い 質問に答えてくれた方々ありがとうございます。
地道にExcel上での動きを書き出して、それを一つ一つコードで書いてドッキングするという作業に徹したいと思います。確かに本を読むだけじゃなくて実際にコードを書かないと力はつきそうにないですね。先は長そうですが。。。
ありがとうございました! 【1 OSの種類 .】 Windows7、10
【2 Excelのバージョン 】 Excel2013
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
A1に数値を入力してB1に任意のコメントを表示させる方法を教えてください
A1に入力した値が25〜75ならB1にOK
A1に入力した値が26〜30、76〜80ならB1に注意
A1に入力した値が30未満、80より大きいならB1にNG
と表示させたいです >>248
B1=IF(AND(A1>=25,A1<=75),"ok","")
&IF(AND(A1>=26,A1<=30),"注意","")
&IF(AND(A1>=80),"NG","")
&IF(AND(A1<=30),"NG","")
27だとok注意ngとなったけどまぁええか
優先順位が良く分からん >>248
26や27は「25〜75」「26〜30」「30未満」の全部の条件に当てはまるけど、どうすんの? 間違えました
規格 50±30
ACT 50±25
になります
A1に数値を入力してB1に任意のコメントを表示させる方法を教えてください
A1に入力した値が25以上〜75以下ならB1にOK
A1に入力した値が25未満〜20以上、75より大きい〜80以下ならB1に注意
A1に入力した値が20未満、80より大きいならB1にNG
と表示させたいです ■ このスレッドは過去ログ倉庫に格納されています