Excel総合相談所 131
■ このスレッドは過去ログ倉庫に格納されています
▼━質問テンプレ (出来れば使ってね) ━━━ 【1 OSの種類 .】 Windows** 【2 Excelのバージョン 】 Excel** 【3 VBAが使えるか .】 はい・いいえ 【4 VBAでの回答の可否】 可・否 ▼━関連スレ━━━━━━━━━━━━ 前スレ Excel総合相談所 130 https://find.5ch.net/search?q=excel Excel VBA 質問スレ Part51(1000到達済み) https://find.5ch.net/search?q=excel+vba 【質問不可】Excel総合相談所スレの雑談・議論スレ4 https://find.5ch.net/search?q=excel+%E3%80%80%E7%9B%B8%E8%AB%87%E6%89%80 ▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━ ・1 現行スレ内で既出の質問が無いか、ページ内検索をしよう。(Ctrl+F) ・2 図やコードを書く場合、TABや連続する半角スペースは無視されるので注意。 ・3 VBAコードを貼る場合は、部分的に伏せたり省略したりせずに全て貼りましょう。何レス使っても構いません。 ・4 2回目以降の質問では名前欄に初回質問の番号を入れよう。 ・5 回答内容でわからない部分があっても、すぐに聞き返さずにヘルプやGoogleなどで検索しましょう。 ・6 バグ・動作上の不都合・仕様に関する質問などはマイクロソフトのサポートを受けましょう。 ・7 VBAはプログラム言語のVisualBasic(6以前)に近い処理が可能で Excelに関係ないことも出来ます。 Excelの操作に関係ない部分は、スレ違いなのでこのスレでは回答が得られにくいです。 ここで聞くよりもVBスレやAPIスレなどの該当スレで質問しましょう。 但し向こうはプログラマのスレなので、構文規則などの最低限の事は覚えてから質問しましょう。 ここみたいに丸投げはダメですよ。 ・8 うまくいかなかったにしても自分でやってみたこと(組んだ数式やコード)は書きましょう。 例えエラーになる式やコードでも、何をやりたいのかを的確に把握する手がかりになります。 その上で、どううまくいかないのかを具体的に書きましょう。 エラーが出るなら、何処でどういうエラーが出るのか、 想定外の結果が出るなら、条件と想定上の結果、実際の結果などを詳しく書いてください。 ・9 マルチは嫌う人が多いのでなるべく避けましょう。マルチをすると、逆に回答は得られにくくなると思ってください。 ・A テキストボックス(エディトボックス)、コンボボックス(ドロップダウンリスト)、リストボックス、コマンドボタン、 チェックボックス、オプションボタン(ラジオボタン)、スピンボタン、スクロールバー、等の質問をするときは、 ユーザーフォーム、コントロールオブジェクト、フォームオブジェクトのどれなのかを必ず書くこと。 【1 OSの種類 .】 Windows10 【2 Excelのバージョン 】 Excel2013 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 グラフの範囲を都度更新して、最新10ロットのグラフを作ろうとしてします。 範囲をOFFSET($C$4,0,0,COUNTA($C$4:$C$10000),1)のようにすれば、 最新データもすぐにグラフに反映されますが、データが多くなった時 範囲がどんどん広がってしまいます。 なので、OFFSETの基準を最終行、範囲を基準場所から-10行みたいなことを 考えているのですがうまくいきません。 どなたか、アドバイスを頂けないでしょうか? よろしくお願いします。 >>4 基準を最終行から-10、範囲を10行にしたほうがやりやすいような気がする C4がデータの開始位置だとして =OFFSET($C$4,MAX(INDEX(($C:$C<>"")*ROW($C:$C),0))-10-4+1,0,10,1) みたいな感じにして これを名前登録してデータ系列に指定すればいいんじゃないかと 【1 OSの種類 .】 Windows 7 【2 Excelのバージョン 】 Excel 2010 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 A1に6、B1に2が入力してある場合、C1に=A1+B1と入力したら8と表示されますが、 6+2と表示するようには出来ませんか? ふたつのセルの数値をテキストに変換し、"6"と"+"と"2"を結合するって事で良いの? >>6 =CONCATENATE(A1, "+", B1) パーセンテージの計算したい場合ってどうやったらいいんですか? 例えば500+50%は普通に計算したら750になりますけど excelでやると500.5になっちゃいます あと例えば A B 1 5 2 0 3 70% 4 4 5 10% C5=入力欄 でC6に =500+VLOOKUP(C5,A1:B5,2,FALSE) みたいな感じで入れた時 C5=1の時505 C5=3の時850 ってちゃんと計算してほしいんですけど 方法ありますか? シートのいろんな箇所に日付が記録されていて 複数の列にあるのでソートはできない 日付の実体はシリアル値 ある特定の日付をシート内から検索したくても、 文字列で検索しても見つからない シリアル値でも同様 仕方ないので、全体をコピーして、一旦テキストエディタに貼り付けて検索してるけど、 もう少しましなやり方は無い? >>11 良くわからんがvlookに500掛けたら? >>11 そもそも%が分かっていない パーセントに換算するとこうなる A B 1 500% 2 0 3 70% 4 4 5 10% ちゃんと計算の「ちゃんと」がさっぱりわからんが =if(VLOOKUP(C5,A1:B5,2,FALSE)>1,500+VLOOKUP(C5,A1:B5,2,FALSE),500*(1+VLOOKUP(C5,A1:B5,2,FALSE))) とかでいけるんじゃないか 150%とか来たら終わるけど %で思い出したが、「百分率だから100を超える値は存在し得ない」とか戯言抜かすアホがいた >>11 >例えば500+50%は普通に計算したら750になりますけど 電卓の % は直前の値の割合を考えるけれど、excel含めそれ以外の場合は単純な百分率としての数字 だから電卓の場合はいきなり50%、= と入力すると 0 になるけれど、直前に500があると 500 + 500*0.5 = 750 と計算してくれる excelの % というか割合の計算は 500 * (1 + 0.5) >ってちゃんと計算してほしいんですけど 表計算ソフトの利便性はいろいろあるけど、一度に大量の処理を手早く行えるようにしたほうがいい B列に整数が来たら和算、小数だったら割合を と場合分けができないわけじゃないが 100% の場合は…と複雑になって手間ばかりがかかるので 目的や要素に合わせて行や列を分けるべき >>13 >>14 どうもです 「500」と固定数値ならそれでいけるかもですが 実はこの500の部分が変数なんです だから10540がくるかもしれないし、413がくるかもしれないし、109がくるかもしれないで、融通が利かないわけです さらに他のセルの変数の部分にもそれが入ってたりで >>16 つまり、無理ってことですかね? 行や列を分けるっていうのは、例えばどんな感じにですか? >>17 0以上、1未満は比率として認識するのか? それとも数値の場合もあり、比率の場合もあるのか? 1以上の数値は比率になる事はないのか? ここら辺が曖昧なので判定するフラグが必要。 フラグ立てればifで分ければ良いかと。 無ければ多分無理。 >>15 ある意味あたってる 確率と割合が同じパーセントだからおかしくなるのが根本の原因なんだよ 全然別物なんだから別の単位にするべきだった >>17 後出しはやめとけ 相手にされなくなるぞ CELL(“format”,B1)でセルの表示形式が百分率だったら”P0”が返ってくるから処理を分岐させれ >>13 VLOOKUPをVLOOKと略すな お前の親を殺すぞ シフト表を作っているんだが ガントチャートでその日の出勤者と出勤時間をグラフで出したシート(1とする)と 一ヶ月分の各希望シフトを入れて適宜削っていくシフト表(2とする)を作ったんだ。これは番帯別に四枚ある 2の方は全部埋めたんだが1に入力するのに2を見ながら手作業だと時間もかかるしミスもでる。 そこで2から1へ その日の出勤者名と出勤時間を抽出したいんだけどどうすればいいかわからないです 質問させてください。 下記表があるとして、 ttp://iup.2ch-library.com/i/i1903018-1524140268.png B6:G14の本データからsumif関数を使ってC18にC8〜F8の合計(データ上の数値は5+6+7+8)である26を入れたいんですけど、そもそも関数の仕様上無理なのでしょうか? 初めから合計値が分かって入ればvlookupを使って引っ張った方がいいのでしょうか? よろしくお願いします。 >>24 sumifはそういう関数じゃない 普通はsumproductを使う =SUMPRODUCT((B7:B14=B18)*(C7:F14)) というか、sumif使おうとしてる割に書いてる中身もおかしい 【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 条件)選択肢a〜d、複数回答可。全体50問 上記のようなアンケート集計をする際に、フィルタをかけた上で設問毎にa〜dの回答数を集計する方法を探しています。 フィルタを考慮した上でワイルドカードを使ったcountifが使えれば問題ないと思うのですが、その方法がわかりません。 sumproductを使う方法はネットで見つけたのですが、ワイルドカードを使うとうまく検索してくれません。 VBAは使えませんが、必要なようなら勉強します。 わかりづらいと思いますが、ご教示お願いいたします。 >例えば500+50%は普通に計算したら750になりますけど なんねーだろ >>25 お早い返事ありがとうございます。 =SUMPRODUCT((B7:B14=B18)*(C7:F14)) これを展開すると、B7:B14の範囲でB18と同じ値であるB8の行から、C7:F14と 同じ行の値であるものは1つしかないため、 C8*1+D8*1+E8*1+F8*1と返ってくることですか? >>27 名前 a b c d 山田 1 0 1 0 鈴木 0 0 0 1 山田はaとc、鈴木はdという意味 この形ならフィルタだろうが集計だろうが行けるよ 1セルに「a,c」のように書いてるなら作り直したほうが良い >>28 おそらく、>>16 が言うように元々は電卓使いだった人なんだろう >>29 ざっくり言うとそんな感じだけど、厳密に言えば該当しない場所も結果0として計算されてる。 まぁ気にしなくてもいい >>27 作業列=SUBTOTAL(3,隣のセル) 集計=COUNTIFS(略,略,作業列,1) >>30 実際のデータは選択肢と回答数がさらに多く、いろんな意味でその集計方法は敬遠していました。 ちなみに、おっしゃるように1つのセルにカンマ使ってまとめておりました。 どうしても見つからないと、やってみます。 >>33 作業列の"隣のセル"が理解できません。 >>30 のような形で各選択肢ごとにフラグを立ててそれを集計する理解でよろしいでしょうか。 1 OSの種類 .】 Windows10 【2 Excelのバージョン 】 Excel2016 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 数式の意味を教えてください =IF(ISERR(FIND("東京",B10)),"",1) この数式では、B10に"東京"の文字列が含まれている場合1を返してくれますが、 =IF(FIND("東京",B10),"",1) では、B10に"東京"の文字列が含まれてても1を返してくれません なぜなのでしょうか >>35 上のはエラー判定。エラーじゃない(東京があれば)なら1。 下は例えば3文字目から東京があればfindは3を返す。 上にもあるようにifはtrueかfalseの判定で結果を返すので答えが出ない。 >>35 色々突っ込みどころ満載だけど、とりあえず質問にだけ答える =IF(ISERROR(FIND("東京",B10)),"",1) こっちは、『FIND("東京",B10)』の結果が エラーだったら『 (空白)』、1以上の数値なら『1』を返す式 ※find関数は該当する文字がないとエラーになるのでISERRORを入れてIFで分岐させてある =IF(FIND("東京",B10),"",1) こっちは、可読性が低い・・・というか式が成立してない書き方になってるけど一応結果的には、 『FIND("東京",B10)』の結果が1以上なら一応『 (空白)』は返す式にはなってる 該当する文字がないとfind関数の時点でエラーになって、ISERRORなどでエラー処理されてないからIFの分岐にたどり着けずにエラーがそのまま返されてしまっている IF計算にまで辿り着けてないから、正直『,1』って書いている意味はない 質問とは関係ない事だけど、2016なら大人しくiferror使えばいいのにと思ってしまうw 長々書いてる間に他の人が答えてくれてた 恥ずかしい・・・ >>40 気にするな、今回は何も恥じることはない 遅れた上で無駄な数式をお披露目+重い+若干中二病入った回答 をするよりよっぽどいいぞ 正直iserrorを使ったためしがない iferrorがすでにあったから >>45 IFERRORを使いこなしてる人はそうかもね ISERRORはエラーのロジックを理解せずエラーを隠す関数ともいえる findで文字列の存在確認だけしたいならiserrorかな それ以外はiferrorで良い これをきっかけにiserrorも使ったら便利な場面もありそう それ系でifsに関して、まだ踏み込めず結局ifにしてしまってる いつもifs使い始めるんだが結局途中にand か orを入れるから安直に慣れてるifを使ってしまう 端的にこういう場合はifs使え!を教えて欲しい >>49 >局途中にand か orを入れる ような場合 >>36 >>38 >>39 ありがとうございます! >>39 新たな発見でした ありがとうございましたm(__)m >>52 こんな関数あるんだーって知った時も、Excelが楽しく感じる時だよねー >>54 おう 伊達にMSもアホの集団じゃないぞ 使いやすいと思っているから実装してる。俺も使いやすいから使っている とりあえずvlookupは廃止してindexmatch()をはよ実装してくれ 後方互換性を保たないといけないので、Excelという名前である限りそんなに便利にはなれない 変なショートカットキー、変なメニュー構成、変な関数仕様 全て使いもしない過去の軛 >>53 NETWORKDAYS( )関数を知った時はこんな関数まであるんだって思った 関数名は今でも謎だが >>55 別にvlookupも残しててもいいのでは? ちなみに…実装するって? 今でもindexmatch使えるけど… >>58 まぁVLOOKUPは絶対になくならないよ、俺の願望だ 木にするな vlookupのデフォルトをfalse側にして欲しい trueで使ってる奴なんているのか でもほら某Tはtrueで爆速とか言ってる 俺もぜってー使わんけど >>61 そう 極めに極めれば、爆速で使えるが・・・ 大半の、下手すれば億単位の人間が遅いまま使ってるのだろう >>62 まずキー列を昇順にでけんわ あとそんな実際時間かかってないから今のとこいいわ 会社で当日の出勤者を横に並べて表示させたいんですが、縦に日付、横に社員が並んでて出勤の場合は空欄、休みの場合は休となっているシフト表とリンクさせるにはどうすればよろしいでしょうか? >>65 ID変わりましたが>>64 です https://imgur.com/a/BOjZFre これで正常にアップロードできてますかね? 即席で作成したので適当ですが、4/23ならBCD、4/24ならBCと当日の出勤者を横に並べて表示させたいです。 元号が変わるのには即座にUpDateなどで対応してくれるのだろうけれど そのUpDateの対象となるバージョンはどれ以降だろな OSも古いとUpDate入ってこなかったりするだろな 古い機種、アプリ用にはダウンロードサイト用意したりするのかな マシン本体の買い替え需要が暴騰かな 一気にWin10のシェア上がるかな >>66 名前を左に詰めるとなると面倒だな 作業列使いまくるかVBAか >>66 http://fast-uploader.com/file/7080045002469/ こんな漢字じゃあかんのけ 詰めるのは意外と難しいな どういう数式になるんだ?countifとchoose使ってみたけどわからんかった vbaなら一瞬で終わるんだけど >>66 すでにレス付いてるように、左に詰めないのが現実的。 4人と決まってるなら、ifで力技でも出来そうだけどスマートではない。 自分ならvba使う。 >>66 です。みなさんありがとうございます!>>71 さんのでいけそうです! 余談ですが、スプレッドシートだと空白詰めるのは楽にできるみたいですね、Excelは本当に難しい… vbaも視野に入れて勉強していこうと思います、改めてみなさん本当にありがとうございました! ちょっと質問!あなたたちはエクセルでゲーム作ろうとしたことある?けちんぼしないで教えて! >>74 すまん、ある vbaがゲームに全く向いてないとか知らないじゃ〜ん Excel2010を会社のパソコンで共有してるのですが 上司がずっといないので更新の仕方がわかりません。 どうやってやるのですか? >>76 そんなレベルで勝手に更新されても上司が困るだけ そのまま使っとけ >>77 更新と言っても、ソフトを更新ではなくて 情報を更新したいんです。(アルバイトのシフト表) >>78 意味がわかりません。 たぶんここで聞いても誰も分からないと思います。 >>78 いや、だからそんなレベルの奴に勝手にデータの更新されたら上司はもっと困るわけで... 確かに。 Excelがどういうものかよく分かっていない感が・・・ 何にせよ、そんなざっくりすぎる質問じゃ答えようがないよ >>78 むしろ自分でも>>76 を見ただけでシフト表の更新がしたいと理解させることができると思ったの? みんなお前と同じ感覚を持ってる訳じゃないから考えを改めたほうがいいよ 単に綺麗に表が印刷できるソフトとして使ってるだけだから、 手書きで作っても同じだよ 先ず、上司に聞け 上司がずっといない 失踪ならもっと上の上司や家族に連絡しろ 警察にもか 「上司がずっといない」からわからない そうだ!2chで聞こう って発想がもうね 発想だけなら妄想と一緒で誰しもするが、実行しちまう自分を疑え 「上司」ってのはホントはウソで、出入りの業者が潰れたとか連絡取れない ってなら、構造見せなきゃ誰もわからん 実はゴミクズのように使ってた派遣が失踪じゃない? 自分が無能上司 Excelの2010を使ってるんだけどさぁー たまぁーにデータ入力した時に 罫線とかセルの背景色とか いわゆる書式?全部かどうかまではわからんけど 上にあるセルと同じ書式が自動的にコピーされてくる場合があんのよ ほんとたまぁーにしかならない けどどんな時に起きるのかもわからない 誰か詳しい人がいるならよぉー ど う い う 時 に だ け そ う な る の か 教えてくんねーかなぁー データ範囲の形式および数式を拡張するがONになってるとそうなる こんなもんは最初にOFFる どういう時にそれが形式だと判断するかは、確か3つくらい連続してたら そうなった気がする >>78 仕事できないのが手に取るように分かるわ 使えないってバカにされてるでしょ? >>90 慣れると使いやすいんだけど、慣れるまでが意味不明なんだよな 教えて下さい 納品書を作成していますが、 クライアントから、 月ごとに動いた分が分かるように追番をつけたいという要望があります。 現在、1シート目に 受注日・納品日・会社名・担当者・電話番号・住所・個数 などを入れる表があり、 そこに入れると、 2シート目に、納品書のひな型があるのですが、 そこに自動で、1シート目の項目が反映されます。 このエクセルは、年度ごとの更新であり、 1シート目も2シート目も、4月から翌年3月まで、 ひたすら後段して入力していく形態です。 月ごとにシートを分けたりしません。 要望として 18年5月12日納品 5月としては3回目の納品なら、 18051203 あるいは 180512-03 としたいです。 ちょっとわかりにくい説明ですが、 是非アドバイスをお願いします。 1シート目がリストで、2シート目が納品書1枚分ということ? っていうか、2枚目が自動生成なら、そこに入力はしないのでは? シート1で何行入れようがシート2でちゃんと納品書の明細に収まる ような「自動」 かどうかが判らんが シート1に納品書の連番列を追加すりゃいい 追番 が一般的な用語かどうか知らん 納品書番号とか連番とかのがググり易い気がすr 一ヶ月で連番、得意先ごとに連番、担当ごとに連番 とかいろいろあるだろうが 工夫 >>95 シート1から作り直すというか、項目を追加して修正しないとダメだと思います。 まずシート1にその月の連番になる部分を、列として作る。その例でいうと02とか、03とか。 そこは関数で自動でできると思うけど。 で、それを元に納品書Noみたいなの作る。 それを、シート2にvlookup関数等で反映させる。 >>96 御指摘の通り、2シート目で納品書が自動で切る状態です。 ただ、そうした設定を設けたい、目で見ることができるようにならないかということです。 >>97 伝票番号はありますが、 その番号とは別に、設定したいのです。 うちの伝票番号は、納品月などが一目瞭然というものではないので、、、 ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる