X



Excel総合相談所 130
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@そうだ選挙にいこう
垢版 |
2017/12/24(日) 09:11:43.15
▼━質問テンプレ (出来れば使ってね) ━━━
【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
0031名無しさん@そうだ選挙にいこう
垢版 |
2017/12/26(火) 01:57:01.56
>>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
0032名無しさん@そうだ選挙にいこう
垢版 |
2017/12/26(火) 01:57:31.91
'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
0034名無しさん@そうだ選挙にいこう
垢版 |
2017/12/26(火) 17:08:57.77
【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
以下略
003534
垢版 |
2017/12/26(火) 17:13:07.37
すいません、半角スペース無視されるの忘れていました

こんな感じの表を
 今年去年 今年去年 今年去年・・・
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
以下略
003634
垢版 |
2017/12/26(火) 17:14:04.23
2番目の表、去年と今年が逆ですね。スレ汚してしまってすいません
0037名無しさん@そうだ選挙にいこう
垢版 |
2017/12/26(火) 18:52:33.29
>>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は空欄であること。

色々アプローチ方法が思いつくので、もっと良い数式ありそうな気もする。

ただこれだけは言わせて欲しい。
「数式で処理しやすい入力様式に変えろ」
003934
垢版 |
2017/12/26(火) 20:02:37.83
>>37
できました!有難うございます
0040名無しさん@そうだ選挙にいこう
垢版 |
2017/12/26(火) 20:10:51.16
【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だけが抽出されるといった感じにしたいです
0042名無しさん@そうだ選挙にいこう
垢版 |
2017/12/28(木) 12:20:23.57
誰でも簡単にネットで稼げる方法など
参考までに、
⇒ 『加藤のセセエイウノノ』 というサイトで見ることができるらしいです。

グーグル検索⇒『加藤のセセエイウノノ』

73U3V610QF
0044名無しさん@そうだ選挙にいこう
垢版 |
2017/12/29(金) 01:28:05.17
氏名 |上期売上|下期売上|合計|順位|評価
Aさん |
Bさん |
Cさん |
こんな感じの表で評価の列に上期と下期の合計金額が平均以上の人は「合格」以下なら
「不合格」と表示させたとき、Cさんの下のセルに評価が合格と表示される人たちの下期
売上平均金を算出する計算式を求めています。
条件として、新たに計算用のセルを作成したり、別シートに新規作成した計算セルを参照
しないものとすること
0047名無しさん@そうだ選挙にいこう
垢版 |
2017/12/29(金) 08:49:47.74
>>45
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

氏名 |上期売上|下期売上|合計|順位|評価
Aさん |
Bさん |
Cさん |

こんな感じの表で評価の列に上期と下期の合計金額が平均以上の人は「合格」
以下なら「不合格」と表示させたとき、Cさんの下のセルに評価が合格と表示される人たちの
下期売上平均金を算出する計算式を求めよ。
条件として、新たに計算用のセルを作成したり、別シートに新規作成した計算セルを参照
しないものとすること
0049名無しさん@そうだ選挙にいこう
垢版 |
2017/12/29(金) 10:18:34.13
>>48
評価の列に上期と下期の合計金額が平均以上の人は「合格」
以下なら「不合格」と表示させたとき、Cさんの下のセルに評価が合格と表示される人たちの
下期売上平均金を算出する計算式
0052名無しさん@そうだ選挙にいこう
垢版 |
2017/12/29(金) 15:42:52.94
ここは自分でやってみてわからない箇所を聞いて、優しい暇人が教えてあげるスレであって
課題や仕事を丸投げすると答えが無料で返ってくる機械じゃないよ

>>49
文章から察するに何かの課題なんだろうけど
自分で考えてみたけどうまくいかなかった数式とかぐらい書いてみたら?
もし全く分からないなら基礎から勉強し直した方がいい

↓特にこの辺
関数の基本的な使い方
Excelでの等号不等号の記述方法
関数で文字列を条件にする方法
IF
AVERAGE
AVERAGEIFS(2013なら使えると思うけど違ったらごめん)
0053名無しさん@そうだ選挙にいこう
垢版 |
2017/12/29(金) 20:44:02.36
>>52
全くもって分からないんです
どこから手をつけてよいのかも...

イジワルしないで教えて下さいよ
テンプレも付けたじゃないですか
0054名無しさん@そうだ選挙にいこう
垢版 |
2017/12/29(金) 21:05:55.55
>>53
イジワルというが、なんでその課題やってるの?
というか、もし課題ならここで答えだけわかっても意味ないのでは?

勉強し直した方がいいと言われた箇所は
調べたり勉強してみたり何かやったの?
0058名無しさん@そうだ選挙にいこう
垢版 |
2017/12/29(金) 22:38:25.52
>>54
答えだけわかればいいんです
ゴタクはいいからさっさと関数だけ書けや無能が!
0063名無しさん@そうだ選挙にいこう
垢版 |
2017/12/31(日) 00:38:31.91
前スレで既出ならごめんなさい
2年後に新元号になりますが
和暦に関するセルの書式および書式記号について
アップデートか何かで対応されるんでしょうか?
仕事のブックでかなり元号を使っているので不安です
0064名無しさん@そうだ選挙にいこう
垢版 |
2017/12/31(日) 01:53:36.61
CUBE関数系わからない
解説して
0066名無しさん@そうだ選挙にいこう
垢版 |
2017/12/31(日) 10:06:10.00
>>65
(出来れば使ってね)なのに共用するなよ
0069名無しさん@そうだ選挙にいこう
垢版 |
2017/12/31(日) 18:23:44.56
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
2年後に新元号になりますが
和暦に関するセルの書式および書式記号について
アップデートか何かで対応されるんでしょうか?
仕事のブックでかなり元号を使っているので不安です
007163
垢版 |
2017/12/31(日) 21:16:45.45
>>69
>>65の意味がわからずにいたところ、捕捉していただきありがとうございます

>>70
ありがたい情報源です
OfficeだけでなくWindows自体にも影響があるとのこと
ネットにつながっていないPC・サーバーを全て人手で更新するとなると
国中が大パニックになるんじゃないですかね・・・恐ろしいです
0072名無しさん@そうだ選挙にいこう
垢版 |
2017/12/31(日) 21:57:37.75
平成に変わった時だって面倒だったけど全件訪問して全部手作業だったぞ
そも、台数・件数もまるで違うがな そも、Windows ですら無かったがな

単なる「杞憂」って奴だ 気にすんな ハゲるぞ
そういう節目は客先とのコミュニケーションにも繋がるし、いい機会だと捉えてりゃいい
ネガティブ・シンキングからはよ卒業しろ お前ら若い衆が臆病でどうする

つか、そろそろ引退しろ、おれ
0079名無しさん@そうだ選挙にいこう
垢版 |
2018/01/01(月) 21:54:04.14
2007はアドインが追加されそうだけど、2003はどうなるだろう
個人的には、2003はもう対応しないでほしい
というかこの世から消滅してほしい
0083名無しさん@そうだ選挙にいこう
垢版 |
2018/01/02(火) 12:38:49.59
【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の件数のみです
0084名無しさん@そうだ選挙にいこう
垢版 |
2018/01/02(火) 12:44:49.19
>>83
すまん、質問の意味がわからん

>A−Cの割り合いの目標値
何を言っているのかさっぱり分からん

>現在値
現在値とはなにか。またその算出方法

>例、A3件、B1件、C1件の時は現在値40%
これを出した計算式
0085名無しさん@そうだ選挙にいこう
垢版 |
2018/01/02(火) 13:14:17.02
>>84
分かりづらくてスミマセン。A−CはAマイナスCの事です。
例で言うと
A3件で全体5件中の60%、B1件で全体5件中の20%、C1件で全体5件中の20%。
AマイナスCで60%−20%で40%になります。
ネットプロモーターの計算方法になります。
0086名無しさん@そうだ選挙にいこう
垢版 |
2018/01/02(火) 13:22:10.99
>>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の値を入力して、ここまで出す計算式は・・・次の方、どうぞ
008886
垢版 |
2018/01/02(火) 13:56:36.45
>>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 って入れてみてください。
0089名無しさん@そうだ選挙にいこう
垢版 |
2018/01/02(火) 14:03:07.78
二つの表がありA側の表とB側の表に同じキーを持つ項目が入っています。
Aの表のキーの文字列とBの表のキーの文字列が一致した項目の金額の差をBの表の横に表示したいです。

A,Bそれぞれで集計済みで、それぞれの表の中ではキーの重複はありません。

A,Bの行数は一致しませんので、キーが一致しなければ、Bの表の横に”一致なし”と表示したいです。

VBAでも関数でも大丈夫ですので宜しくお願いします。
009285
垢版 |
2018/01/03(水) 11:50:21.64
>>86-88
レス遅れてスミマセン
おかげさまで求めていたものが完璧に出来ました。
ありがとうございます!
0096名無しさん@そうだ選挙にいこう
垢版 |
2018/01/06(土) 13:22:40.85
それで辛いならマルチモニタにするっきゃ無い 二画面でも三画面でもお好きな台数並べ
さもなきゃ好きなだけ縮小するか そういうので使い勝手満足できるなら
0097名無しさん@そうだ選挙にいこう
垢版 |
2018/01/06(土) 13:36:49.45
>>95
・列を減らす
・縮尺を小さくする
・マルチディスプレイにする
・大型ディスプレイに買い替える
・Ctrl+矢印で表の端にジャンプする
・特定の列やセルに名前を付けてCtrl+Gで選択してジャンプする
0100名無しさん@そうだ選挙にいこう
垢版 |
2018/01/06(土) 14:11:00.09
>>93
・アウトラインのグループ化で折りたたんでおく。
・カテゴリーごとにシートを分ける。どうしても一覧で見たいなら別シートでindex,matchを使ってピックアップする。
0101名無しさん@そうだ選挙にいこう
垢版 |
2018/01/06(土) 15:31:59.24
【1 OSの種類         .】 Windows7     64bit
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい・
【4 VBAでの回答の可否】 可・
xlsmやxlsxファイルで右クリックをすると「読み取り専用」でるのですが、ブックは「読み取り専用」になりません。
http://argius.hatenablog.jp/entry/20120623/1340461000
これは試したのですが
0105名無しさん@そうだ選挙にいこう
垢版 |
2018/01/07(日) 07:52:09.48
作業列で横長になるならシートわけてみては

シート1
AB
CD

シート2
A’B’
C’D’

シート3
A’’B’’
C’’D’’

行列の構成を同じにしておくと管理が楽だよ。ヘタに詰めたりするとややこしくなる
0107名無しさん@そうだ選挙にいこう
垢版 |
2018/01/07(日) 10:02:25.29
>>93
どうしても1行にまとめておく必要があるっていうことなら、必要なときに必要な列だけを表示し、
一時的に不要な列を非表示にするようなマクロを組み込んでおけばどうですか?
フォームにボタンを数個置いて、
Aボタンのクリックで○○関係の列だけ表示(それ以外は非表示)、
Bボタンのクリックで□□関係の列だけ表示(それ以外は非表示)・・・みたいに。
0109名無しさん@そうだ選挙にいこう
垢版 |
2018/01/07(日) 13:25:31.70
>>104
計算用の列はルールが変わらない限り非表示にすればいいじゃん
0110名無しさん@そうだ選挙にいこう
垢版 |
2018/01/07(日) 17:07:03.02
>>102
普通は計算用のセルを全部右端に集める
必要な情報だけ左端のエリアにリンクで引っ張ってくる
0113名無しさん@そうだ選挙にいこう
垢版 |
2018/01/07(日) 19:28:31.20
>>111
計算式は変えずにただただ横に増えてく前提じゃないかな
自分も同じくそうするかな

あとはシート変えてリンクで引っ張るんじゃなくて計算し直したりもしたな
なぜリンクじゃないかというと、元の計算領域の配置が変わっても条件通り取れるように、index matchとかで対応した方が自由度高いから
0114名無しさん@そうだ選挙にいこう
垢版 |
2018/01/07(日) 23:46:59.19
>>112
数年に一度計算式は変わる可能性がある。技術ら日進月歩なので…

それと目線があっちこっち行く資料はダメだという個人的な(部署的な)思いがあるので、それならまだ横につながったほうがマシな気がしている。これは人によりけりだけど

>>113
言ってることわかります
でもそうするとセルは横長になりがちで、バランスに迷うんですよね
0116名無しさん@そうだ選挙にいこう
垢版 |
2018/01/08(月) 00:54:14.45
あっちこっちいくんじゃなく、常に右に行くように設計すればいい
で、シートは入力、tmp(計算用)、出力、設定の4つにする。
この構成なら大抵楽に作れる
0120名無しさん@そうだ選挙にいこう
垢版 |
2018/01/08(月) 16:14:02.50
【Excelの表が横長になって見辛い時の対処法】

「横長に作らない」ってことだな
0121名無しさん@そうだ選挙にいこう
垢版 |
2018/01/08(月) 16:57:30.56
縦横でそれぞれの要素があり、横長にせざるを得ない時は諦める
グループ化で対処する
ctrl+cで飛びたい区切りに飛べる行を用意しておく
この辺りの妥協案でまぁなんとかしてきたよ
0122名無しさん@そうだ選挙にいこう
垢版 |
2018/01/08(月) 17:07:13.51
メニューページを作ってハイパーリンクで飛ぶようにすればいいじゃん
0125名無しさん@そうだ選挙にいこう
垢版 |
2018/01/08(月) 19:28:15.81
>>123
逆にそうじゃないと不便では?
セル内に複数のリンクを張れるならともかく
0130名無しさん@そうだ選挙にいこう
垢版 |
2018/01/11(木) 13:59:46.73
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel 2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

Excel 2016で、Excelのウインドウをマウスで掴んでドラッグするとき慣性は働いて、
マウスを止めた位置より、少し先までExcelのウインドウが移動してしまうのですが、
マウスを止めた位置にピタッとExcelのウインドウを止める設定を教えてください。
(Excel内のセル移動時のぬるぬるしたアニメーションでは無いです。)
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況