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 ▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━ ・1 現行スレ内で既出の質問が無いか、ページ内検索をしよう。(Ctrl+F) ・2 図やコードを書く場合、TABや連続する半角スペースは無視されるので注意。 ・3 VBAコードを貼る場合は、部分的に伏せたり省略したりせずに全て貼りましょう。何レス使っても構いません。 ・4 2回目以降の質問では名前欄に初回質問の番号を入れよう。 ・5 回答内容でわからない部分があっても、すぐに聞き返さずにヘルプやGoogleなどで検索しましょう。 ・6 バグ・動作上の不都合・仕様に関する質問などはマイクロソフトのサポートを受けましょう。 ・7 VBAはプログラム言語のVisualBasic(6以前)に近い処理が可能で Excelに関係ないことも出来ます。 Excelの操作に関係ない部分は、スレ違いなのでこのスレでは回答が得られにくいです。 ここで聞くよりもVBスレやAPIスレなどの該当スレで質問しましょう。 但し向こうはプログラマのスレなので、構文規則などの最低限の事は覚えてから質問しましょう。 ここみたいに丸投げはダメですよ。 ・8 うまくいかなかったにしても自分でやってみたこと(組んだ数式やコード)は書きましょう。 例えエラーになる式やコードでも、何をやりたいのかを的確に把握する手がかりになります。 その上で、どううまくいかないのかを具体的に書きましょう。 エラーが出るなら、何処でどういうエラーが出るのか、 想定外の結果が出るなら、条件と想定上の結果、実際の結果などを詳しく書いてください。 ・9 マルチは嫌う人が多いのでなるべく避けましょう。マルチをすると、逆に回答は得られにくくなると思ってください。 ・A テキストボックス(エディトボックス)、コンボボックス(ドロップダウンリスト)、リストボックス、コマンドボタン、 チェックボックス、オプションボタン(ラジオボタン)、スピンボタン、スクロールバー、等の質問をするときは、 ユーザーフォーム、コントロールオブジェクト、フォームオブジェクトのどれなのかを必ず書くこと。 次回からででも、スレ立て指名入れた方がいいかもね >>950 と言うわけでスレ立てお願いします 無理だった場合は >>980 さんお願いします 前スレ >>983 用 とりあえず置いておくね ■前提 ・作業列を仮でH〜M列とする ・一つ目のサイズは必ず"-"で始まる ・サイズの区切りは必ず"×"である ▼作業列 H1= FIND("-",$A1) I1=FIND("×",$A1) J1=FIND("×",$A1,I1+1) K1=FIND("×",$A1,J1+1) L1=FIND("×",$A1,K1+1) M1=LEN($A1)+1 ⇒以下オートフィルコピー ※K1、L1はJ1のコピーでOK ▼結果列 B1=MID($A1,H1+1,I1-H1-1) ⇒C1〜F1にコピー後、以下オートフィルコピー sum(hogehoge)となってる数式を round(hogehoge)と中身はそのまま関数かっこのみ置換する方法って正規表現使わないと難しいですか? 置換対象は大量にあります >>10 round()以外なければ楽勝 =sum(1) 「=sum」を「あああ=sum」に変換。これで数式から文字列になる 後はテキトーに変換し 「あああ=sum(」を「=〜ろうんd(」 に置換するだけ 「あああ」は、もちろんなんでもいい >>11 何ステップかになりますね。 かつ中身にさらにsum(、や)がネストされてるとややこしいなぁ 前スレでお世話になった伝票作りを助けていただいた者ですが、やはり私にはうまく作れませんでした… うまく出来てるかコンビニで試しに印刷してみたら B6のデータの2面付をA4に印刷しようとしたのですが、縦に印刷されてうまくいきませんでした。 >>15 で、どうしたいの?まだやるの?諦めるの? まだやるなら質問の経緯を教えておくれ 1 OSの種類 Windows7 2 Excelのバージョン Excel2013(多分) 3 VBAが使えるか 初めたばかりです 4 VBAでの回答の可否 可(是非お願いします!) 5 質問内容 ・指定したセルの範囲内で、上のセルの文字が下のセルの文字と同じ場合、下のセルを〃に変換したい。 ・指定したセルの範囲内で、上のセルが空白の場合下のセルを幅寄せ?したい。 かつ、上記をマクロでボタン作成して行いたい。 本当に初歩的で丸投げな質問だとは思うのですが、Googleで調べても一致するものが見付からなかったので質問させて頂きました。 条件付き書式?やルール管理、などの方法は見付かるのですが、入力した途端に変換されるのではなく、マクロでボタンを作成し後からワンクリックで変換する方法は分かりませんでした。 もし手順が書いてあるHPなどがあれば教えて頂けましたら幸いです。丸投げで本当に申し訳ありません。 >>16 こちらで安いと教えていただいたプリントパックに依頼するつもりなのでなんとかやりたいのですが、年内にやるつもりが結局出来ず… 親孝行としてなんとか完成させたいので引き続きご教授願いたいです… 自分なりに作ったExcelファイルをアップロードすれば分かりやすいでしょうか? 一応、載せておきます… ttps://dotup.org/uploda/dotup.org1420850.zip.html パス:excel B5わざわざ切るより楽だろうと思って勝手にB6にしたけど別にいい? >>17 難しくないと思うけど 「指定した範囲」の指定の仕方は? 範囲選択して、ボタンを押すってこと? あと、幅寄せとは? セルを削除して上方向にシフトってこと? あとはその削除したりする列が決まってるのか、複数あるのかでも変わってくる。 >>22 ご回答はありがとうございます 「指定した範囲」の指定の仕方は?→ 範囲は事前に決まっており、マクロを作成する時に決められればなと思います あと、幅寄せとは?セルを削除して上方向にシフトってこと?→そうです、上方向にシフトで間違いありません。分かりにくくてすみません >>23 5 〃 5 みたいな場合もあるの? その場合 5 〃 〃 にする? >>20 ありがとうございます! 5分で出来てしまうとは… 私も勉強していかないとダメですね… 注文方法も添えていただき感謝です。 希望としては元の勘定書がB6サイズなので最初はB4用紙に4面付する感じのレイアウトが良かったのですが、切るのも大変なのでB6のデータを横向き?にしてA4に2面付が出来ないかなと思ってるのですが難しいものなのでしょうか? >>25 何故切るという発想になるのか分からない 最初からB6で頼めばそれで終わりでは? >>27 こう?1分で終わったけど https://dotup.org/uploda/dotup.org1421741.pdf なんかもうこういう無駄な労力をかけるよりも、さっさと業者に投げて手伝ってあげたら?と思う ソッチのほうがよっぽど親孝行だろうと思うけど、まぁなんでもええわ >>28 ありがとうございます。 完成品データで入稿しないと受け付けてくれないようなのですが、これで受け付けてもらえるかもしれません。 わざわざ作っていただきありがとうございます。。。 >>24 あります、その場合は5〃〃でお願いします >>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を使ってピックアップする。 ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる