Excel総合相談所 129
■ このスレッドは過去ログ倉庫に格納されています
▼━質問テンプレ (出来れば使ってね) ━━━ 【1 OSの種類 .】 Windows** 【2 Excelのバージョン 】 Excel** 【3 VBAが使えるか .】 はい・いいえ 【4 VBAでの回答の可否】 可・否 ▼━関連スレ━━━━━━━━━━━━ 前スレ Excel総合相談所 126(実質127) https://find.2ch.net/search?q=excel Excel VBA 質問スレ https://find.2ch.net/search?q=excel+vba 【質問不可】Excel総合相談所スレの雑談・議論スレ https://find.2ch.net/search?q=excel+%E3%80%80%E7%9B%B8%E8%AB%87%E6%89%80 >>626 わかったよ 趣味でやってる人がいることも理解しておくから、仕事でしかやらない人がいることも理解しておいてね 何事もその場の状況で役立たなければ意味がないでしょ なんでもいいけど、小数点の問題だけじゃなく、 漢字が検索元の場合、ソートしててもふりがな基準の昇順になってたり その他要素で正常に検索できない時もあるよ ・左側の列から検出できない ・小数点使えない ・基本的に検索元を昇順ソートしないとならない ・更にソートのかけ方にも注意しなきゃならない ・テーブルに行を増やして使えない ・・・etc こんなめんどい事を、頭に入れながら使わなきゃならない不確定要素満載なlookup関数使うぐらいなら、初めからindex&match使う人って人は多いよ 特に、仕事で思いがけなかろうが何が何でもミスがあってはいけない場合や、エクセルが趣味になっちゃうぐらいの人(このスレは、正直、定期的にパズルクイズを出題してくれる場所だと認識してる)とかね そりゃ、ちゃんと最左列にソートされた整数の数値(色んな意味で)番号で管理された、重複等もなく、今後データが増える事も無いおりこうさんリストを使った単純な検出なら、そりゃlookup関数がラクだろうけどね 昔のバージョンってふりがなが違うデータは別扱いになってた気がする 最近のは統合されたんだろうか >629 1 男 2 女 という表ですら増える可能性があるからなー >>629 毎回作業する前にいちばん左に一列挿れてナンバーふってる それしか今んとこ対処法がないからね そしてまず重複チェックするところから始まる 最近はマイノリティに配慮して、個人情報の登録で「男、女、その他、無回答」の中から選べるみたいなケースが増えてるもんな >632 最悪だな 数式を変えるか、vbaで処理しないの? >>634 共有で使ってるファイルだからいろんなトラップがあることとファイル自体が重くてなvbaはそれには使ってないね 他のシステムから抽出したものはvba ほんとになんでもディスりたいお年頃なんだな そろそろお前めんどくさいから自覚しろよ >>635 ディスりたいの意味がわからんが、貶めたいって意味でいいのかな 別にそういう意味じゃなくて、単に>>632 の作業は誰がどうみても単にウンコだろうってだけだよ >>636 まぁなんでもいいけど絶対的に vba>手で入力 という図式に頭が凝り固まってるのも困ったもんだ だからきみがその構図を崩したくないならそれでいいでしょ こっちにはこっちの事情があってやってること >>637 うん、vba使用可能な環境なら絶対に >vba>手で入力 なのは間違いない。断言していい >>639 お前、今後手入力禁止なww 全部vbaしる 手っ取り早く作業列に連番とかよくやるけどなあ >>636 その方が簡単で早い状況ってあるよね >>640 できるならやってる さすがにアナログ用紙からの入力は無理だった 二重線と印鑑で消したものはOCRで認識できない これさえなければスキャンしてvba走らせて全部完了なんだがね >>642 だからそういう言い訳禁止 なぜならきみはもう手入力禁止だから Excelはvbaのみ >>641 いくら色々なことが進んでも手作業が全くのゼロになることはないからね 仮に記載誤りをする人間がゼロになったら可能かもしれないね 人間がロボット化することで防げるというww 今はもう半分そんなところだと思うけど システムを使うために人間が正しく処理することを要求されてる どっちが命令系統なのか支配されてるのかw 間違いの許されない入力作業は、同じ物を2人や3人に入力させて答え合わせする そのうち1人分をOCRにして人権費を節約することはあるけど、OCRだけってのは怖くてできない OCRは「時間」を「時門」と間違えたりしてそのチェックが逆にめんどくさいよ >>643 君にその権限はないので無視するよ その言動は君のプライドを君自身の手によって傷つけているだけなので、一方的に禁止と言い張るのはやめたほうがいいんじゃないかな? 俺は何も気にしてないからどっちでもいいけど >>647 あるあるだね 今後はお金持ってる企業ならAIよろしくだね 【1 OSの種類 .】 Windows10 【2 Excelのバージョン 】 Excel2016 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 1行飛ばしでオートフィルのようにデータを入力したいです @〜Eを繰り返し入力したいきたいのですが セルA1〜A5まで結合されていてA6には文章が入力されていてまたA7〜A11まで結合でA12には文章がはいっています この繰り返しが続くシートの結合されている部分に@〜Eを入力していきたいです。 @〜Eというのは1日を4時間毎に区切ってるという意味でセルC列には日付を入力していきます Eの後の@からは日付を+1するということもできますか。A1〜A5の時間帯は必ず@から始まるわけではなく BやDから開始する時もあります 最初の一個分の日付や時間帯を入力するだけにしたいです >>651 よくわからん こういうこと? それとも@〜Eは別の何かなのか、具体的にスクリーンショットなどで教えてくれ https://i.imgur.com/CuaYYdJ.png ソートかけてまでlookup使いたいやつ、いるなんねびっくりだわ なんのメリットがあるんだろう こだわりありそうでそんな人のエクセル使いたくねえ >>652 この画像だとA1〜A5に@、A7〜A11にA、A13〜17にBと入力していきたいです 最初の@〜Eが11月26日だったら次の@〜Eは11月27日にしたいです わかりにくくてすみませんでした >>655 完成 https://dotup.org/uploda/dotup.org1398111.zip.html マクロを編集することで設定できる 最初の日にちがこれ 日付 = "2017/11/26" 10日分はここの9。 For i = 0 To 9 inputboxかなんかでもう少し使いやすくできるけど、そこは自分で頑張ってくれ Sub foo() Dim 日付 As Date 日付 = "2017/11/26" 時間 = Array("@", "A", "B", "C", "D", "E") '10日分 For i = 0 To 9 '6回分 For k = 0 To 5 行 = i * 36 + k * 6 + 1 Range(Cells(行, 1), Cells(行 + 4, 1)).Merge Cells(行, 1) = 時間(k) Cells(行, 3) = 日付 Next 日付 = 日付 + 1 Next End Sub >>653 本人にこだわりがあるんじゃなく共有相手がVLOOKUP以外覚える気がない上司だったから 仕方なくソートして使ったことはある 覚える気もないのに関数にいちいち注文つけないでほしかった 会社の連中、部署にもよるけど、なんでみんなアホみたいにvlookup連呼するんだろうな まるで関数といったらこの世にvlookupしかないかのよう、馬鹿の一つ覚えみたいに しかもブイルックと略して言うのが最高にキモい 「当てます」とかいきなり言われて、は?と思ったらvlookupすることを言うらしい せめて引き当てるくらい言ってくれ そしてhlookupだってlookupだってあるんだわ >>658 >>658 他の人も書いてるけどvlookup についの話はもう終わってるし明らかに雑談なので、Excel雑談スレへ移動お願いします 質問としても出ていた「vlookupの少数不具合について」「vlookupからindex&matchへの置き換えについて」からも大きく離れてしまってるしね 何気ない話の中で気づくこともあるから別にいいと思うけどね >>659 一緒だわ ヴイルックって略も同じ 「当てます」は無いけど >>662 データぶつける、とか、突合するならまだ言うな 意味わかるし 前にvlookupを「データ付け合わせする」と連呼する女子がいて毎回頭の中で「ご飯の付け合わせ?」と吹いていたw 「突き合わせ」だろ、そりゃと 付けて合わせる、ってconcatenateとかマージじゃないんだからw 自分が喋ってる日本語が理解できてないことにも気づいてないのはさすがに痛かった 数値を自動でMillionやらBillionやらに直す方法ってあります? 001 00001 東京 T1 20 2017/11/01 002 00010 東京 T1 20 2017/11/06 003 00001 東京 T2 20 2017/11/15 004 00010 東京 T1 15 2017/11/15 005 00001 大阪 T1 20 2017/11/21 006 00001 東京 T2 20 2017/11/24 こんな感じのデータが各シート毎にズラッとあって そのうちの列BCDEが完全一致する行をデータ毎に色分けした上で全シート色付けしたい といったことをVBAとかマクロとかわからんから関数で教えてという指定がされているんだが可能なのだろうか 一行のうちBCDEだけを全シートで重複チェックして完全一致したら色付け カウントアップして行に色が付いてなければ新たなチェックデータとしてまた重複チェックで色分け 行に色が付いてたらカウントアップ 以下データが無くなるまでループ と考えてるんだがエクセル関数でどうやるんすかね・・・ >>664 自動にってどういうこっちゃ 1000M超えたらB単位に直すってことなら多分IFとか使わんと無理 >>664 書式設定でいける 10000000000 を 10 と表記したいなら、 #,##0,,, 参考 http://www.relief.jp/docs/000167.html >>665 1シート内毎で重複確認して色分けならともかく 全シートの中で重複確認したものとなると ちょっと難しいんじゃないかなぁ・・・ >>665 あれ?もしかして同じシート内には重複無いの? >>668 ですよねー しかも追加要望でシート1,2だけの重複なら赤、シート1,3だけの重複なら青、シート1,2,3の重複なら黄みたいな感じで一目見るだけでわかるようにしたいんだよねとか言われたっていう シート数は12まであるのに正気かこのおっさんと思った しかもやって欲しいじゃなくて教えてほしいってのがまた面倒で・・・ 50過ぎても学ぼうという姿勢は立派だが管理用ソフトでも買った方がずっと良いよね >>669 もちろんあるよ!それも色分けしたいんだって! そこまでして何を見分けるというのか俺にはわからない >>665 とりあえずBCDEを&でつなげた作業列Fを作成だな シート数が12って決まっているならcountifを12個並べればいい 条件付き書式で =if(countif(シート1f:f)>0,1,0)+if(countif(シート2f:f)>0,1,0)if(countif(シート3f:f)>0,1,0)... みたいな感じ 一応言っておくと実現できるだけで、俺なら絶対にやらんけどな >>670 ん?どのシート内に重複があるかで色分けなの? 検出した値毎かと思ったんだけど・・・ もし両方だとしたら、色の区別はどこでつける気だw VBAで、コメントに重複する値のあるシートと座標を表示するように組むのが 一番現実的な気がしなくもない 少なくとも条件の競合でカオスになることはないかな、と vbaで日付の列を昇順にsortすると 2017/10/1 2017/2/9 2017/4/3 2017/6/15 みたいに10,11,12月の方が1が反応して上に上がってしまうんだけどどうしたらちゃんと並びますか? >>675 その日付はエクセルで日付として認識していますか? 例えば、セルの書式設定を変更して和暦表示にできますか? >>675 そりゃあ文字列をソートすればそうなるさ >>676 書式は日付です。和暦表示もできます >>677 どうしたらいいんですかね?FormatでYYYYMMDDの8桁文字にするとか? >>675 ctrl + shift + @ で、全てシリアル値が表示されますか? されるようなら、マクロでなくて普通に並べ替えしたらどうなりますか。 2016から自動計算等で数字の変わり方が変わりましたか? VLOOKUPが上手く機能しない理由がわかった 検索値は小数とかじゃない簡単な数字なんだけど それが「数値じゃなく文字列になってる」とエラーが出てたの気づかなかった エラー出てるのをクリックして数値に直すみたいのしたらVLOOKUPちゃんと機能したんだけど このエラーが大量にあるからいちいちクリックして直すのが大変 一度に全部「数値」に直すことはできますか? >>683 VALUE()で数値に変換したものを列ごと上書きとか。 >>683 セルの書式、それで直らなかったらメモ帳経由でコピペ >>683 a1=1 a1をコピー 文字列になっているところに形式を指定しては有りつけ 「値」「乗算」 これですべて数値にできる 左揃えになるのは我慢してくれ >>683 数式を工夫すればいい セルの値を参照するんだろうから、文字列を数値化してからVLOOKUP >>684 ごめん初心者でバリューがわからないので調べてみます >>685 メモ帳は良さそう ちょっと明日やってみる >>686 ひとつひとつ貼り付けるってことかな? 文字列になってて数値に直したいセルが100箇所とかあるので それだとクリックして直すのと変わらないような… >>687 その数値化をしたいんですけど 一気にやる方法はないだろうか… >>688 vbaおぼえたほうがいいんじゃない? 数値化どころか何でもできるようになるぞ どう言えばいいかわからないけど 検索したい値は 10 10 10 空欄 24 24 24 空欄 のようになってて この10とか24が全て文字列になってしまってる状態です >>690 A列に入ってるとしたら B1=IF(A1="","",A1*1) 下にオートフィル B列をA列に値で貼り付け >>688 >その数値化をしたいんですけど >一気にやる方法はないだろうか… セルの値は今のままの文字列で構わない 数式を変えて対処するって意味 例えば、A1が文字列の"3"だとしても A1+0とすると数値の3になる 1コピーして範囲選択して乗算貼り付けでいけるんじゃないの >>692 すげええええ ドンピシャでした 区切り位置にこういう機能があるのは自分では絶対見つからなかっただろうな… 他の皆さんもありがとう、他のやり方も試してみる 説明が下手ですみませぬ >>688 VALUE()ってVALUE関数のことだから。 >>696 いや、そんな変な質問の仕方ではなかったよ ここの人達が区切り位置のやり方知らないはずないんだけど、関数使いたがったり、説明端折ったりしてるから、わかりづらいことはある 自分はそこまで玄人じゃないから初歩の疑問がわかるだけ >>698 人によっては独学(というか必要に迫られてやらざるを得なかったり)でこなしていった結果、学習本やスクールで初期に習うような機能を知らなかったりする場合もあるよ そういう人間は、変な関数の応用とか得意だったりするけどねw 色んな人がここでアドバイス出来るのは、スレ的にもいい事だと思う、ありがとう >>699 固定長データは測定器とか大型コンピュータとか、限られたケースでしか取り扱わないと思っていい >>699 そこの選択はめちゃアバウトにやってるけど、記号が入ってて区切りたい時は上 記号なしで書式変更したい時と自分で自由な位置で区切りたい時は下を選択してる そんな変なことになったことはないので良しとしている >>700 698だけど、自分も必要に迫られてやってるタイプ ただ今の職場の周りがExcelスキルがっぽり低いのと周りと方法のシェアをしない文化でインプットが恐ろしく少ない場所 だからこういうとこ来てシェアできたら有用だなと思っている 難しいことも必要だけどその土台にはこういうのが必ずあるから vba組むようになったら区切り位置とかより関数で処理が活きてくるね csv 東京都 鉄50トン 東京都 銀40トン 東京都 大根30トン 入力シート 東京都 銀 と入れると、出力シートには、 東京都 銀40トン と掻き出される こんな感じで、2つ目の枝までセルで指定してそれをcsvから拾ってくるマクロ作った。 1列目のセルを一つ一つ調べて、東京都にマッチしないかを調べる 東京都がヒットしたら、銀にマッチしないか調べる しなかったら、 1列目のセルから続けて調べる という風にしたら 入れ子になってわかりづらい感じに。 3層ぐらいの入れ子だとプログラムでは普通なのかなあ。 普通でしょ IFの中のIFがあってその中にもIFとかは日常茶飯事 >>703 > csv > 東京都 > 鉄50トン > 東京都 > 銀40トン > 東京都 > 大根30トン 東京都,鉄,50トン 東京都,銀,40トン 東京都,大根,30トン じゃダメなの? あとマクロの話なら Excel VBA 質問スレ Part51 http://mevius.2ch.net/test/read.cgi/tech/1510107990/ へ行った方がいい >>704 ここマクロの話違うのか あおわかりづらいけど 鉄で一セル、40で一セル、トンで一セル 【1 OSの種類 .】 Windows10 【2 Excelのバージョン 】 Excel2016 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 関数の式の中にある「:」で省略されたものも含めるセル番地を、その参照されたセルの中身と入れ替えることは可能でしょうか 例えば A1[IF(〇)] A2[IF(×)] A3[IF(△)] のとき、 [SUM(A1:A3)] から、 [SUM(IF(〇),IF(×),IF(△))] のように変換したいです あ、本当はもっと数が多いのでできれば「置換で一つ一つコピペ」以外の方法でお願いします >>707 文字列操作とForNextで出来そうだね 配列も使った方がいいな >>707 A1:A2やA1:A4の時とか考えると凄まじく面倒そうだ >>707 R1C1形式でformulaを取り扱えば簡単にいけそう 【1 OSの種類 .】 Windows8 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 このスレの過去ログで以前、下に挙げた図のようなプルダウンがVBAなしのExcel2000でもかなり大掛かりな式になるが出来るというのを見かけたんですけど、 (その周辺ログにはその式の書き方までは回答がなかったので) どういう式を書けば、図のようなプルダウンをVBAなしで再現できるのでしょうか? このようなプルダウンです https://imgur.com/a/fXFi9 ちなみに用意した画像は、家のExcel2010とPhotoshopで大まかなニュアンスだけ伝える為にちゃちゃっと加工して作ったもので、多少おかしいかも知れませんがツッコまないでおいて下さい 再現したいのは会社のExcel2000上です その時の過去ログには確か「INDIRECT()、OFFSET()、MATCH()を使えばVBAなしの2000で可能」みたいな事が書いてあったんですが… 幾らそれの関数名と多重・多段・プルダウン・ドロップダウン・リスト等で検索しても「こっちじゃない」方(上)のプルダウンの作り方しか引っかからず… 本当に可能なんでしょうか? 1 OSの種類 .】 Windows10 【2 Excelのバージョン 】 Excel2013 【3 VBAが使えるか .】 はい(初心者) 【4 VBAでの回答の可否】 可 名前の管理やピポットテーブル、VlookUPの等の範囲の指定の際最終行の取得方法のいい方法はないでしょうか? 今は、2000だったり300だったりする範囲でいきそうにない範囲(5000や600)にして範囲から出ないようにしています。 VBAなら最終行の取得方法はわかるのですが普通の関数で同応用したらいいかわかりません。 >>713 できますよ。 それは絞り込み検索といいます。 入力規則で絞り込みリストを作成するには(INDIRECT関数) で検索下ください。 自分もまだ詳しくないので2つの絞り込みまでしかしてません。 3つ以上もできるといえばできるのですがかなりまどろっこしいです。 そこまで絞り込みしても逆にくどくなると思ってそこまでしていません >>716 ご回答ありがとうございます、ですが、 絞り込み検索 Excel 絞り込み検索 Excel Indirectで検索したのですが、 やっぱり、上の「こうじゃないリスト」の作り方しか出てこないのですが… 「3セル使って3回の入力で絞込みをして、最後に結果が出る」は「こうじゃない」です 「1セルをクリックしたら選択肢が出て、その選択肢の1つにカーソルを近づけるだけで右の絞込み選択肢が出て、右の選択肢もカーソルを近づけるだけで3つめの更に絞り込んだ選択肢が出て、最後にクリック1回だけで選択完了」というリストが必要なのですが… 具体的には、「InternetExplorerの歯車ボタンを押した後、印刷・ファイル・拡大・セーフティにカーソルを近づけるだけで、次のメニュー、印刷なら印刷・印刷プレビュー・ページ設定から選べる」みたいなそういうのです >>718 ありがとうございます すっきりしました VBA嫌いの上司に「VBAなしでは無理です」とはっきり言ってやる事が出来ます >>719 VBAのユーザーフォームでなら出来るかもしれないけど開発はとっても大変、よくわからないけど下手すりゃ出来ない。 多分、その上司インターネットかなんかで見たんだろうけどそれはエクセルVBA以外の開発言語でプログラマがひとつひとつ頑張って作った結果です。 使ってる方は簡単かもしれないですけどね。 >>713 作ろうかと思ったけど些細な仕様の違いで上司が逆に文句言いそうなのでやめて置いたほうが良さそうだ >>721 VBA なしでできるかどうかの問題だから VBA でできるかどうかはどうでもいい >>723 と思うじゃん? 質問者がvbaのことよく知らないだけで上に聞いたらあっさりokって例が以前にもあったよ >>724 そうなったらVBAスレで聞けばいいだけの話 なんで移動せにゃならんのよw ここで聞けばいいじゃん ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる