Excel総合相談所 130
■ このスレッドは過去ログ倉庫に格納されています
▼━質問テンプレ (出来れば使ってね) ━━━ 【1 OSの種類 .】 Windows** 【2 Excelのバージョン 】 Excel** 【3 VBAが使えるか .】 はい・いいえ 【4 VBAでの回答の可否】 可・否 ▼━関連スレ━━━━━━━━━━━━ 前スレ Excel総合相談所 129 https://find.5ch.net/search?q=excel Excel VBA 質問スレ Part51 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 >>30 もっとスマートな書き方はいろいろあると思うけど。 範囲は3行目で指定、ここではB1:D15に。 空白の次の行や、一番上の行に「〃」があるのは想定してない。 Sub sample() Dim myRange As Range Set myRange = Range("B1:D15") Dim myRow1 As Long Dim myRow2 As Long Dim myCol1 As Integer Dim myCol2 As Integer Dim i As Long Dim j As Long myRow1 = myRange.Row myRow2 = myRow1 + myRange.Rows.Count - 1 myCol1 = myRange.Column myCol2 = myCol1 + myRange.Columns.Count - 1 '@「〃」を元の文字列・数値に戻す。 For i = myRow1 + 1 To myRow2 For j = myCol1 To myCol2 If Cells(i, j) = "〃" Then Cells(i, j) = Cells(i - 1, j) End If Next j Next i 'A空白を削除して上側にシフトする。 For i = myRow2 To myRow1 Step -1 For j = myCol1 To myCol2 If Cells(i, j) = "" Then Cells(i, j).Delete shift:=xlShiftUp End If Next j Next i 'B上のセルと比較して同じなら「〃」に変更する。 'ただし対象セルが空欄の場合は除く For i = myRow2 To (myRow1 + 1) Step -1 For j = myCol1 To myCol2 If Cells(i, j) <> "" And (Cells(i, j) = Cells(i - 1, j)) Then Cells(i, j) = "〃" End If Next j Next i End >>28 B版で頼むと割高なので、A版で注文したくて2面付とかを考えていたのを忘れていました… 【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2013 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 縦列名前、横列年度の得点表が同じシートに複数個横に連なっているのですが、これを一まとめにはできないでしょうか? こんな感じの表を 今年 去年 今年 去年 今年 去年・・・ A 50 59 D 60 65 G 60 65 ・・・ B 78 90 E 35 20 H 35 20 ・・・ C 65 72 F 79 80 I 45 70 ・・・ こうしたいです。 去年 今年 A 50 59 B 78 90 C 65 72 D 60 65 E 35 20 F 79 80 G 60 65 以下略 すいません、半角スペース無視されるの忘れていました こんな感じの表を 今年去年 今年去年 今年去年・・・ A 50 59 D 60 65 G 60 65 B 78 90 E 35 20 H 35 20 ・・・ C 65 72 F 79 80 I 45 70 ・・・ こうしたいです。 去年 今年 A 50 59 B 78 90 C 65 72 D 60 65 E 35 20 F 79 80 G 60 65 以下略 2番目の表、去年と今年が逆ですね。スレ汚してしまってすいません >>34 入力シートがSheet1のA1からデータが3行記入されてると仮定して、 出力シートは別途A1〜C1に「_ 今年 去年」があるとして 以下の式を「B2」に入力して、行列共にオートフィル =OFFSET(Sheet1!A$2,INT(MOD((ROW()-2),3)),INT((ROW()-2)/3)*3,1,1) もし行数を可変にしたい場合は ROWS()でカウントさせるか =OFFSET(Sheet1!A$2,INT(MOD((ROW()-2),ROWS(Sheet1!A$2:A$4))),INT((ROW()-2)/ROWS(Sheet1!A$2:A$4))*3,1,1) ※この場合、運用で行を増やす時1〜3行目の間に挿入する必要がある。 COUNTA()でデータ数をカウントする =OFFSET(Sheet1!A$2,INT(MOD((ROW()-2),COUNTA(Sheet1!$A:$A))),INT((ROW()-2)/COUNTA(Sheet1!$A:$A))*3,1,1) ※この場合、A列に最大行までデータが埋まっている必要がある。 ※余計なデータがA列に含まれていてはならない。 ※A1は空欄であること。 色々アプローチ方法が思いつくので、もっと良い数式ありそうな気もする。 ただこれだけは言わせて欲しい。 「数式で処理しやすい入力様式に変えろ」 >>31 >>32 ありがとうございます!作って頂いたコードで試してみます、助かりました 【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2013 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 続けての質問ですいません 縦列にA,A,A,A,A,B,B,B,C,C,C,D,D,E,E,E,Eと入力されている時、同じものが4個以上あるものだけをフィルターで抽出するにはそうすればいいのでしょうか? 例の場合だとAとEが4個以上あるのでAとEだけが抽出されるといった感じにしたいです >>40 右端の列にCOUNTIFでa列のカウントかな あとはフィルタで好きな数量指定さるだけ 誰でも簡単にネットで稼げる方法など 参考までに、 ⇒ 『加藤のセセエイウノノ』 というサイトで見ることができるらしいです。 グーグル検索⇒『加藤のセセエイウノノ』 73U3V610QF 氏名 |上期売上|下期売上|合計|順位|評価 Aさん | Bさん | Cさん | こんな感じの表で評価の列に上期と下期の合計金額が平均以上の人は「合格」以下なら 「不合格」と表示させたとき、Cさんの下のセルに評価が合格と表示される人たちの下期 売上平均金を算出する計算式を求めています。 条件として、新たに計算用のセルを作成したり、別シートに新規作成した計算セルを参照 しないものとすること >>44 なんで設問系の投げかけw?ほら解け、みたいな >>45 【1 OSの種類 .】 Windows10 【2 Excelのバージョン 】 Excel2013 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 氏名 |上期売上|下期売上|合計|順位|評価 Aさん | Bさん | Cさん | こんな感じの表で評価の列に上期と下期の合計金額が平均以上の人は「合格」 以下なら「不合格」と表示させたとき、Cさんの下のセルに評価が合格と表示される人たちの 下期売上平均金を算出する計算式を求めよ。 条件として、新たに計算用のセルを作成したり、別シートに新規作成した計算セルを参照 しないものとすること >>48 評価の列に上期と下期の合計金額が平均以上の人は「合格」 以下なら「不合格」と表示させたとき、Cさんの下のセルに評価が合格と表示される人たちの 下期売上平均金を算出する計算式 ここは自分でやってみてわからない箇所を聞いて、優しい暇人が教えてあげるスレであって 課題や仕事を丸投げすると答えが無料で返ってくる機械じゃないよ >>49 文章から察するに何かの課題なんだろうけど 自分で考えてみたけどうまくいかなかった数式とかぐらい書いてみたら? もし全く分からないなら基礎から勉強し直した方がいい ↓特にこの辺 関数の基本的な使い方 Excelでの等号不等号の記述方法 関数で文字列を条件にする方法 IF AVERAGE AVERAGEIFS(2013なら使えると思うけど違ったらごめん) >>52 全くもって分からないんです どこから手をつけてよいのかも... イジワルしないで教えて下さいよ テンプレも付けたじゃないですか >>53 イジワルというが、なんでその課題やってるの? というか、もし課題ならここで答えだけわかっても意味ないのでは? 勉強し直した方がいいと言われた箇所は 調べたり勉強してみたり何かやったの? >>52 一つだけごめん、Sいらないな AVERAGEIFS ⇒ AVERAGEIF で よかったよ 違和感感じたのは自分だけじゃなかったららしい >>54 答えだけわかればいいんです ゴタクはいいからさっさと関数だけ書けや無能が! マルチには厳しい質問掲示板もあるから 他で質問するまえにココで挨拶しないと答えてもらえないことも 前スレで既出ならごめんなさい 2年後に新元号になりますが 和暦に関するセルの書式および書式記号について アップデートか何かで対応されるんでしょうか? 仕事のブックでかなり元号を使っているので不安です >>67 あ! 強要 失礼した 別に推奨してるんだからいいんじゃない? そもそも使わない方が不親切なんだから 【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 2年後に新元号になりますが 和暦に関するセルの書式および書式記号について アップデートか何かで対応されるんでしょうか? 仕事のブックでかなり元号を使っているので不安です >>69 まだ確定はしてないけど、対応してくれる可能性は高い 枠は元々空けてはあるみたいだしね ↓ついでに日本マイクロソフト(株)の 新しい元号への対応に備えたサポート情報ブログ https://blogs.technet.microsoft.com/jperablog/ >>69 >>65 の意味がわからずにいたところ、捕捉していただきありがとうございます >>70 ありがたい情報源です OfficeだけでなくWindows自体にも影響があるとのこと ネットにつながっていないPC・サーバーを全て人手で更新するとなると 国中が大パニックになるんじゃないですかね・・・恐ろしいです 平成に変わった時だって面倒だったけど全件訪問して全部手作業だったぞ そも、台数・件数もまるで違うがな そも、Windows ですら無かったがな 単なる「杞憂」って奴だ 気にすんな ハゲるぞ そういう節目は客先とのコミュニケーションにも繋がるし、いい機会だと捉えてりゃいい ネガティブ・シンキングからはよ卒業しろ お前ら若い衆が臆病でどうする つか、そろそろ引退しろ、おれ >>69 7、2010ならまぁ大丈夫 ただこれを機に和暦はやめたほうがいいと思う 源泉徴収票もマジでやめてほしい やっぱこういうのはどのバージョン使ってるかも加味して答えたいからテンプレ必須やね >>77 そんなしょーもないところで人を罵るのはやめよう 自分に返ってくるよ 2007はアドインが追加されそうだけど、2003はどうなるだろう 個人的には、2003はもう対応しないでほしい というかこの世から消滅してほしい >>79 サポート対象外なのは流石に対応させないだろう 2007無理かなぁ 少しだけ2007使ってる機体があるからちょっとだけおまけしてほしいんだけどなぁ まぁいいか〜 【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 A、B、Cという3つの評価があり、A−Cの割り合いの目標値を仮に60%とした時に現在値が目標値を下回った時、後何件Aの評価があれば目標を上回るかを関数で組みたいんですが知恵をかりたいです。 例、A3件、B1件、C1件の時は現在値40% 求めてるのはBとCの件数は増減せずに単純にAの件数のみです >>83 すまん、質問の意味がわからん >A−Cの割り合いの目標値 何を言っているのかさっぱり分からん >現在値 現在値とはなにか。またその算出方法 >例、A3件、B1件、C1件の時は現在値40% これを出した計算式 >>84 分かりづらくてスミマセン。A−CはAマイナスCの事です。 例で言うと A3件で全体5件中の60%、B1件で全体5件中の20%、C1件で全体5件中の20%。 AマイナスCで60%−20%で40%になります。 ネットプロモーターの計算方法になります。 >>83 ,84 件数 割合 A 3 60% B 1 20% C 1 20% 計 5 100% となるので、60%-20%=40% ってことでしょ? A評価の件数を変数a、B評価の件数を変数b、C評価の件数をcとすると a/(a+b+c) - c/(a+b+c) >= 0.4 (a-c)/(a+b+c) >= 0.4 になればいいということですね。bとcの値が固定(現状値)なら一次方程式の考えでいけます。 現状でa=8,b=4,c=3と仮定すると、aだけ変数のままにしておいて (a-3)/(a+7)>=0.4 両辺に(a+7)をかけて次行の式へ (a-3)>=0.4*(a+7) 両辺に3を足して次行の式へ a>=0.4a+2.8+3 両辺から0.4aを引いて次行の式へ 0.6a=>5.8 a=>9.6666666・・・ 整数ならa=10 →現状のa=8には+2が必要 a,b,cの値を入力して、ここまで出す計算式は・・・次の方、どうぞ >>85 こんな感じ https://dotup.org/uploda/dotup.org1428962.zip.html >>86 出来てたのかw まぁ考え方は一緒だね、aを最終的にセルに出力する しかし1次方程式をExcelで処理するのは結構変な感じだった >>87 変数のままでもなんとかなりました。 (a-c)/(a+b+c) >= 0.4 両辺に(a+b+c)をかけて次行へ (a-c) >= 0.4 * (a+b+c) 両辺にcを足して a >= 0.4 * (a+b+c) + c 両辺から0.4aを引いて 0.6a >= 0.4b + 1.4c 両辺を0.6で割って a >= (0.4b + 1.4c) / 0.6 >>86 にて、項目見出しをA列、件数をB列、割合をC列とし、B2セルから下にA、B、Cの件数を入れ、 D2セルに =ROUNDUP((0.4*B3+1.4*B4)/0.6,0) って入れると条件を満たすAの最小値が出るので、現状値(B2セル)を引くと「後何件」の数が出ます。 E2セルに =D2-B2 って入れてみてください。 二つの表がありA側の表とB側の表に同じキーを持つ項目が入っています。 Aの表のキーの文字列とBの表のキーの文字列が一致した項目の金額の差をBの表の横に表示したいです。 A,Bそれぞれで集計済みで、それぞれの表の中ではキーの重複はありません。 A,Bの行数は一致しませんので、キーが一致しなければ、Bの表の横に”一致なし”と表示したいです。 VBAでも関数でも大丈夫ですので宜しくお願いします。 >>86-88 レス遅れてスミマセン おかげさまで求めていたものが完璧に出来ました。 ありがとうございます! エクセルで作る表がすごい横長になるのって使いづらいけどみんなどうしてんの? >>94 スクロールすると大変じゃない? 例えば200列あるシートってすごく辛い 画面に収まってないと使いづらいなあって それで辛いならマルチモニタにするっきゃ無い 二画面でも三画面でもお好きな台数並べ さもなきゃ好きなだけ縮小するか そういうので使い勝手満足できるなら >>95 ・列を減らす ・縮尺を小さくする ・マルチディスプレイにする ・大型ディスプレイに買い替える ・Ctrl+矢印で表の端にジャンプする ・特定の列やセルに名前を付けてCtrl+Gで選択してジャンプする >>96 使いやすい表づくりのコツとかないかと工夫を日々やってるけど難しい 入力する表と 加工して結果を見るだけの表と 分けるようにしてる >>93 ・アウトラインのグループ化で折りたたんでおく。 ・カテゴリーごとにシートを分ける。どうしても一覧で見たいなら別シートでindex,matchを使ってピックアップする。 【1 OSの種類 .】 Windows7 64bit 【2 Excelのバージョン 】 Excel2010 【3 VBAが使えるか .】 はい・ 【4 VBAでの回答の可否】 可・ xlsmやxlsxファイルで右クリックをすると「読み取り専用」でるのですが、ブックは「読み取り専用」になりません。 http://argius.hatenablog.jp/entry/20120623/1340461000 これは試したのですが >>95 むしろどうやったらそんなに横長になるんだ >>99 >>100 ありがとう それは私もやってる >>102 計算してる 作業列で横長になるならシートわけてみては シート1 AB CD シート2 A’B’ C’D’ シート3 A’’B’’ C’’D’’ 行列の構成を同じにしておくと管理が楽だよ。ヘタに詰めたりするとややこしくなる >>102 横レスだが例えば種類が20種類あってさらに小分類が6とかあればそれだけで120列になるよ >>93 どうしても1行にまとめておく必要があるっていうことなら、必要なときに必要な列だけを表示し、 一時的に不要な列を非表示にするようなマクロを組み込んでおけばどうですか? フォームにボタンを数個置いて、 Aボタンのクリックで○○関係の列だけ表示(それ以外は非表示)、 Bボタンのクリックで□□関係の列だけ表示(それ以外は非表示)・・・みたいに。 >>107 あ、それは良いかも そんなことできるんですね、調べてみます >>104 計算用の列はルールが変わらない限り非表示にすればいいじゃん >>102 普通は計算用のセルを全部右端に集める 必要な情報だけ左端のエリアにリンクで引っ張ってくる >>110 それ計算過程わかりづらくないですか? 結局計算追おうとするとあちこち目が移ってしまうので 計算式変えることなんてそんなに無いだろう もしコロコロ変わるようだったら、運用が悪いと思う >>111 計算式は変えずにただただ横に増えてく前提じゃないかな 自分も同じくそうするかな あとはシート変えてリンクで引っ張るんじゃなくて計算し直したりもしたな なぜリンクじゃないかというと、元の計算領域の配置が変わっても条件通り取れるように、index matchとかで対応した方が自由度高いから >>112 数年に一度計算式は変わる可能性がある。技術ら日進月歩なので… それと目線があっちこっち行く資料はダメだという個人的な(部署的な)思いがあるので、それならまだ横につながったほうがマシな気がしている。これは人によりけりだけど >>113 言ってることわかります でもそうするとセルは横長になりがちで、バランスに迷うんですよね >>114 >でもそうするとセルは横長になりがちで、バランスに迷うんですよね いまいち意味わからず あっちこっちいくんじゃなく、常に右に行くように設計すればいい で、シートは入力、tmp(計算用)、出力、設定の4つにする。 この構成なら大抵楽に作れる >>116 あっちこっちってそういう意味じゃないじゃないの? 右に長くなってくのは当たり前でw 【Excelの表が横長になって見辛い時の対処法】 「横長に作らない」ってことだな 縦横でそれぞれの要素があり、横長にせざるを得ない時は諦める グループ化で対処する ctrl+cで飛びたい区切りに飛べる行を用意しておく この辺りの妥協案でまぁなんとかしてきたよ メニューページを作ってハイパーリンクで飛ぶようにすればいいじゃん excelのハイパーリンクってセルクリックするだけで飛ぶのが気持ち悪い >>123 逆にそうじゃないと不便では? セル内に複数のリンクを張れるならともかく >>125 いや、ctrl+クリックとかのほうがいいな 編集しようと思ってリンク先に飛ぶのは腹立つ >>124 ごめん ctrl+→と間違えた てへぺろ 【1 OSの種類 .】 Windows10 【2 Excelのバージョン 】 Excel 2016 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 Excel 2016で、Excelのウインドウをマウスで掴んでドラッグするとき慣性は働いて、 マウスを止めた位置より、少し先までExcelのウインドウが移動してしまうのですが、 マウスを止めた位置にピタッとExcelのウインドウを止める設定を教えてください。 (Excel内のセル移動時のぬるぬるしたアニメーションでは無いです。) ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる