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 >>558 だよね 半端にExcelは使い勝手いいから やろうと思ったらできるよ でも今回のはそういう問題じゃないw >>556 wordならできてexcelならできないことの主旨って何? >>557 選択した要素によってリストを切り替えるって事? 最後の一行がイミフ? もっと具体的に書かないと回答できないよ >>561 簡潔に言えばそのとおりです ただ、同じリストを複数の要素から呼び出せるようにしたいので、単に名前の定義を使うだけだと上手く出来ませんでした 最後の行は、AとBで呼び出したいリストが同じなので、これらを纏めてXと名前を定義 以下同様の作業を繰り返して、これらの定義した名前を別にリスト化、A1とA2の参照元にINDIRECTを使用すれば一応実現したものの、このやり方ではA1のリストに全部の項目が表示されないので不満だというわけです やはり贅沢を言わずこれで満足すべきなんでしょうか >>559 どう言う問題かは知らんけどわざわざやりにくいWordでやる意味ってなんだ? >>562 名前を対応表で条件ごとに書いてVLOOKUPすればいいだけ 【1 OSの種類 .】 Windows 8.1 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 VBAでRangeでコピーする時に、 コピー先が数式だった場合は上書きせずに残したいのですが うまい方法はありますか? >>558 作るのは楽なんだけど、ずれるのがなぁ wordで図形含めるとずれるんかね? >>566 RangeのHasFormulaプロパティで調べられる。boolが戻るからIfで分岐すれば出来るよ 【1 OSの種類 .】 Windows7,8,10 【2 Excelのバージョン 】 Excel2010ー2016 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 共有機能を使うと猛烈に重くなるのですが、どうにかならないでしょうか? アクセスやスプレッドシートなど、代替機能でも何でもいいのでお願いします >>568 ありがとうございます 何らかのオプションを使って一発でコピーできれば処理も早いのでその方が良かったのですが やはりHasFormulaを使ってコピー処理をループさせるしかなさそうですね… 分岐よりも関数や作業列のフラグでどうにかしたほうがいいような Wordだけだとこんな感じ。 曲線矢印にもう一工夫できそうだけど。 http://or2.mobi/index.php?mode=image& ;file=183537.jpg >>571 すみません、よく理解できませんでした… 分岐せずにうまく処理する方法があるのでしょうか? >>573 入力シート A列=貼り付け 制御シート B列=フラグ。0か1を入力。あたいか関数かのフラグの代わりとする 出力シート C列=すべて関数。B列のフラグに基づいてA列を分岐 D列=すべて関数。C列をすべて同じ処理 こんな感じ >>565 元のリストをもとにリストを引っ張ってくれば良いのでは? 元のリストだけいじれば、自動的に抽出されたリスト範囲が変動するようにすればいい 俺も国名の一部を入力すると、合致する文字のある国名のみ抽出されるリストとかは作ったことあるし >>575 同じく 地域でリスト切り替えて該当の集計表示させてたな 構成を考えていますが、どちらが良いでしょうか? 前者だと、計算量が減る代わりにメンテがたいへんになるかもしれません 後者だとDBっぽい構成ですが、すごく重くなる気がします メーカーで、売上は月締めなのでそこまでの量ではありませんでした しかし、様々な例外が発生したり、個人売上も徐々に増えてきました次第です どちらがよいでしょうか それとも全く違う設計のほうが良いのでしょうか? 以下はシート設計の草案です 売上シート→各店合計シート→全店合計シート →個人売上シート→各課売上シート 売上シート→各店合計シート →全店合計シート →個人売上シート →各課売上シート 元データを一つにするか、結果シートから更に結果を求めるかってことだろう 多少重くなっても、元データは一つにしたほうが良い ずれたときにめんどくさい 入力規則のリストで¥100¥200¥300ってやるとき、手入力と別に表を用意する以外でさくっと入れる方法ある? 一応全部価格は等間隔 【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2016 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 すごい初歩的なことで申し訳ありません。 個人番号を割り振ってある別シートの名簿の情報を、個人番号を入力するだけで名簿の情報を別シートに転記したいのですが方法がわかりません。 例えば1001番の方のデータがあり、メインのシートに1001と入力すると残りの情報が出る、といったような感じです どなたか教えて頂けると幸いです >>582 vlookupで検索 vlookupに慣れたらindex matchで検索(同じ挙動でこちらの方が早い) ところでvlookup match は index match に置き換え可能だよね? >>585 ? vlookupはmutchいらないのでは? indexでなぜmutchが必要か考えるといいよ >>413 これもミスってた事に気づいたorz ジョーダン・マッチかよ・・・当分引きこもっておきます >>586 何列目かを指定するのにMATCH使うって話じゃ? INDEXでももちろん代用可能だがVLOOKUPならMATCHをひとつ減らせる >>586 いや必要だから使ってるんだよ 20列vlookupすんのに順不同で現れる列をいちいち探すなんて時間の無駄や間違い起こす可能性高いことはできない あくまでvlookupを使う場合の話な lookupは検索うまくできないことがあるから使わないでいいんじゃないかなあ indenとmatchで何も問題ないし >>589 サンクス その通り ところで減らせるとは? >INDEXでももちろん代用可能だがVLOOKUPならMATCHをひとつ減らせる >>591 うまくできないことなんて未だかつてなかったぞww >>594 そういうのは普段やらない もしあっても切り捨てるわ とりあえず今言ってるの主旨とはズレてる lookupが少数でおかしくなる件もう少し詳しく聞かせて lookup使わないけど普通に知らなかった >>599 めんどくせーなー調べるか って調べたら小数誤差の事かよそもそもlookup関係ないじゃん 少数誤差なら、MATCHでも起きるからな 単純に、VLOOKUPだと基準列の右側しか検索できないがINDEXとMATCHの組み合わせなら可能 っていうのが大きいと認識してた あとは、LOOKUP系は揮発性関数だから処理が重くなりやすい ただ、ファイル容量はLOOKUP系使った方が少なくてすむから 表をメールで送る運用とかならLOOKUP系使う意味がある 元データが5分毎値で、表示形式が年月日時分のまま、これをキーにして、 INDEX、MATCHで検索・集計しようとしたら、引っぱれない場合があった。 YEAR()*10^8+MONTH()*10^6+DAY()*10^4+HOUR()*10^2+MINUTE() で整数化したキーでしのいだけど。 >>602 =TEXT(A1,"yyyymmddhhmm")*1 >>603 最後の *1 で数値化しているのかな? >>606 引数は配列ってなってるけど、セル範囲でいいよ =index(a:a,match(b2,b:b,0)) こんな感じ >>608 具体的にまだ試してないけど、複数条件だから配列使ってるってことか ↓↓ http://www.excel-excel-excel.com/basic/975/ { =INDEX(B4:D13,MATCH(F4&G4,B4:B13&C4:C13,0),3) } >>609 配列って配列数式の略のつもりで言ってるのか? 配列と配列数式は全然別物。意味も結果も全く変わってくるので変に略すのはやめてくれ そのページの配列数式に関してはそう、複数条件だから >>596 いや、普通に 1.4 1.2 1.5 とか入力して1.4を検索しようとしてみ。indenxとmatchならできるけどlookupはできないから。 場合によっては使えない時点でlookupを使う意味なんてないと思ってる >>613 612さんじゃないけど 仕事で使ってたら並び替えできない状況もあるんだよ >>613 並び替えが理由かはわかんないけど、並び替えができない時もままあるし。 そこまでして使う意味ないし。 >>612 そういう全否定するから反感買うんだよ lookupで用足りる人は使うんだから >>614 とりあえず仕事かどうかはおいといて、昇順に並び替えればいいだけでしょ?そもそも小数整数関係なく並び替えてから使えって仕様だよね? 小数とは関係なくない? >>618 でも趣味でExcelいじる人なんてあんまいなくてみんな仕事で使うんだならそこはループで愚問になると思うぞ 言いたいことはわかるけど 小数点以下使う人はindex match使えばいいじゃん >>618 他の人も共有して使っているだとか、 元データに数式入ってるだとか、 現状の並び順に意味がある場合(ソート不可な不規則ルール)だとかで、 並び替え不可な状況というか、並び替え直せない、 もしくは並び替えると不具合や不都合が出る状況というものがあるんだよ 小数点誤差の問題とごっちゃにすんなって言ってんのに全然わかってねーな好きにしろ >>621 だから言いたいことはわかるけど、と言ってるだろ しかし実務で使う人には並べ替え自体が無理な場合もあり例えナンバリングで戻してもそれに余りある弊害があれば使えない その人たちはlookupを使う選択肢はそこで消えるんだから ただ小数点以下の問題だけについて言えば昇順降順かければいいだろう しかしあーlookup使えないと頭から葬り去る人はそこ止まり 厳密にそこを区分けして分類して頭に置いておける人がいちばん実務で発揮できる人 これならどうだ? >小数点以下の問題だけについて言えば昇順降順かければいいだろう この話しかしてないのに仕事の話に飛躍するのが不思議 >>622 >厳密にそこを区分けして分類して頭に置いておける人がいちばん実務で発揮できる人 脳死でindexmatchでいい。 別に超高速とか機能が豊富ってわけでもないし、lookupを使う理由が一切ない 人のシートを改修する時に、昇順じゃないとエラーになるって知識は無いとだめだけど ほんとこー言えばああ言う… 仕事の話になるのは当たり前だろ Excel趣味じゃないし 勝手にしてろよ >>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以外覚える気がない上司だったから 仕方なくソートして使ったことはある 覚える気もないのに関数にいちいち注文つけないでほしかった ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.4 2024/05/19 Walang Kapalit ★ | Donguri System Team 5ちゃんねる