X



Excel総合相談所 136

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@そうだ選挙にいこう
垢版 |
2019/07/27(土) 17:47:29.09
【1 OSの種類         .】 Windows**
【2 Excelのバージョン   】 Excel**
【3 VBAが使えるか    .】 はい・いいえ
【4 VBAでの回答の可否】 可・否

▼━関連スレ━━━━━━━━━━━━

前スレ
Excel総合相談所
https://find.5ch.net/search?q=excel

Excel VBA 質問スレ
https://find.5ch.net/search?q=excel+vba

【質問不可】Excel総合相談所スレの雑談・議論スレ
https://find.5ch.net/search?q=excel+%E3%80%80%E7%9B%B8%E8%AB%87%E6%89%80
0076Manbow
垢版 |
2019/08/06(火) 19:39:30.50
>>71
方法1
A10に 
=OFFSET($A$1,(ROW()-ROW($A$10))/2,0)
A10:A11を選択してずらずらっと下に連続コピー

方法2
A10に0を入れる
A10:A11を選択して下にずらずらっと連続コピー。これで一つ飛ばしの連番ができる。
B10に 
=OFFSET($A$1,$A10,0)
B10:B11を選択してずらずらっと下に連続コピー

ということかな?
あとは工夫で
0078名無しさん@そうだ選挙にいこう
垢版 |
2019/08/06(火) 19:58:19.68
>>71
単純にコピーするだけでいいんだな?
仮にC1〜C10に式を入れるとして、D列を作業列とする
@C1〜C5にオートフィルで数式入れる
A = を☆とか数式に無い文字に置換
AD1〜D5に1〜5を入れる
BD6〜D10にAを貼る
CA〜D列をD列昇順で並べ替える
DD列削除
E☆を=に置換
0079Manbow
垢版 |
2019/08/06(火) 20:05:37.90
>>77
>>73の画像の〇があるアドレスが不明だったのでA10と勝手に決めました
0082Manbow
垢版 |
2019/08/06(火) 20:21:17.93
>>80
>空白を1シートx(セル)作った上で連続の計算式を入力する方法はありますか?(オートフィルを使わなくても大丈夫です)
という要望だったのでわかりやすく原理の説明をしたわけです。

あとは工夫で
頭つかってね
0085名無しさん@そうだ選挙にいこう
垢版 |
2019/08/06(火) 20:28:18.34
一行おきに空白をセルを挿入するアドインがあるから
それを使っちゃうな 手っ取り早いしw
0087名無しさん@そうだ選挙にいこう
垢版 |
2019/08/06(火) 21:30:38.82
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

A列からC列までの合計とE列からG列の合計が間違っていたら
メッセージを出す関数を作っています。

=If (SUM(A1:C1)=SUM(E1:G1),"","エラーメッセージ")
まではあっさり書けたのですが、
行が、例えば100くらいになった(A100:C100とE100:G100)場合、
どうすればいいのでしょう。
まさか、If関数のカッコを外側にどんどん追加して書くわけにはいかないし。
やっぱり、マクロの出番でしょうか?

ついでに、row関数で、どの行が間違っているかわかれば楽だと思って試行錯誤中です。
これも、=ROW()&"行目"まではあっさり書いたのですが、
if関数と合わせる関数が書けなくて。

長々とすみません。
0088名無しさん@そうだ選挙にいこう
垢版 |
2019/08/06(火) 21:54:18.61
>>87
H列に書くと思うから、
I1に=COUNTIF(H:H,"エラーメッセージ")
とかやるとか

まぁフィルタかマクロか、その辺はルーチン次第かね
自分でその場で治すならフィルタかけてぽちぽちやれば終わりだし、
数式触られたくないならマクロが良いだろう
0089名無しさん@そうだ選挙にいこう
垢版 |
2019/08/06(火) 21:56:09.92
>>87
>=IF(SUM(A1:C1)=SUM(E1:G1),"","エラーメッセージ")
という計算式をどのセルに入力してますか?

”作業セル”というのを知ってますか?上記の例で言えばF1セルに上記の計算式を入力し、
F1セルを下方向へフィルコピーするだけで
F2セルの式 =IF(SUM(A2:C2)=SUM(E2:G2),"","エラーメッセージ")
F3セルの式 =IF(SUM(A3:C3)=SUM(E3:G3),"","エラーメッセージ")
のように、手間はかかりません。

もし、既存の表に作業セルを設定することが難しいのであれば、エラーメッセージの代わりに
”セルに着色”という手もあります。
009089
垢版 |
2019/08/06(火) 21:57:36.00
>>89
アルファベットの順番間違えたorz
作業セルのF1 は H1 に読み替えてください。
009287
垢版 |
2019/08/06(火) 22:30:51.36
>>88-91
迅速なレスをありがとうございます。
そして、まとめてレスですみません。

H列やI列に、下に引っ張って結果を出したら
できれば特定のセルだけに結果を出してほしいと言われて。
〇行目が違う、という感じで。

今のところ、SUM関数で全体を見て、
どこが違うかはわからないけれど違う箇所がありますよ、
で妥協してもらっています。

ちなみに、1銭もお金は動いていません。
知り合いに頼まれて試行錯誤しているだけなので。
009489
垢版 |
2019/08/06(火) 22:38:58.96
>>92
相違がある行の(行全体でもA列だけでもいいけど)セルの着色じゃダメなの?
0095名無しさん@そうだ選挙にいこう
垢版 |
2019/08/06(火) 22:40:13.50
>>92
それは間違ってる箇所は1つって前提?
1つでも複数でも、チェック用の列作ってそこから答えを出すってのが一般的なんだがその列を作るのもNGなん?
でないと無駄に複雑になるが
0096名無しさん@そうだ選挙にいこう
垢版 |
2019/08/07(水) 01:43:06.01
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否


@UCL・LCLのある管理図(グラフ)でエリアごとに色分けする事は可能でしょうか?
規格外のエリアは赤、UCL・LCLのエリアは黄色、規格内のエリアは緑といった感じです
(紙にプリントしてプロットするので薄い赤、黄色、緑です)

今は管理図の各エリアにテキストボックスを貼り付けて色付けしていますが、
規格値の見直しがあった際にテキストボックスの位置を調整するのが何かと面倒くさいので・・・

A規格値が100+35/-20(80〜135)でUCLが120、LCLが90の時に規格外の時はセルを赤にして黒字でNG、
UCL・LCL外れの時はセルを黄色にして文字は黒字で管理値NG、規格内のときはセルを緑にして黒字でOK
と表示させる方法を教えて下さい
0097名無しさん@そうだ選挙にいこう
垢版 |
2019/08/07(水) 06:19:04.69
>>96
UCL・LCLはどうでもよくて、
単にグラフの既定値に色分けするってこと?
標準機能では無理だ
vbaでも結構めんどくさい気がする。おそらく最初の高さ等は手動で算出することになる
0098名無しさん@そうだ選挙にいこう
垢版 |
2019/08/07(水) 06:25:19.01
>>96
@はこのサイト参考にしてみるといいかもね
https://www.waenavi.com/entry/20190124/1548275841#1折れ線グラフの場合-1

A
>「規格外の時はセルを赤にして黒字でNG」
>「UCL・LCL外れの時はセルを黄色にして文字は黒字で管理値NG」
>「規格内のときはセルを緑にして黒字でOK」

・これはグラフじゃなくリストの方?

・具体的に「セル」がどこのセルを指しているの?この説明では分からん

・ちなみに何かを書いているセルに、色を付けるのは可能だけれど、文字を上書きするのは関数では無理
0099名無しさん@そうだ選挙にいこう
垢版 |
2019/08/07(水) 10:07:43.14
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2019
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

文書を上書き保存するたびにOneDriveにアップロードするようになってしまったのですが
これをやめさせる方法はありますか?
0100名無しさん@そうだ選挙にいこう
垢版 |
2019/08/07(水) 10:20:48.92
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 少し
【4 VBAでの回答の可否】 否

よろしくお願いいたします。

あるセルへの入力で、
基本的にはダウンリストからの選択だけど直接入力も可能にしたい、
というような場合は、どういう設定にするのが一般的なんでしょうか?

例えば、性別欄で、基本的にはダウンリストから「男」「女」を選ばせたいのだけど、
直接入力で「どちらでもない」とか「答えたくない」「秘密」など、自由に入力することも
可能にしたいです。
実務で使い込んでおられる方は、こういう場合はどうしてますか?
010296
垢版 |
2019/08/07(水) 12:32:37.24
>>97>>98
@は諦めます
Aの質問はA1のセルの値に対してB1に「OK」「管理値NG」「NG」と表示&セルを色付けです(厳密にはA1自体は別途計算された値が入ります)
0104名無しさん@そうだ選挙にいこう
垢版 |
2019/08/07(水) 15:04:25.03
こんな風に2列になっていて、日付と項目があり、最後に合計が書いてあるシートがあるのですが

https://i.imgur.com/keGTaW5.png

日付 金額  日付 金額
項目 XXX   項目 XXX
項目 XXX   項目 XXX
項目 XXX   項目 XXX
項目 XXX   項目 XXX
合計 ZZZ   合計 ZZZ

※項目の数は可変


これを ↓ こんな風に変換するにはどうすればいいのでしょうか?

日付 ZZZ
日付 ZZZ
日付 ZZZ
日付 ZZZ
0106名無しさん@そうだ選挙にいこう
垢版 |
2019/08/07(水) 16:13:29.78
>>105
すいません、JK列はこちらの画像を作るために手動で作りました。

質問としては、JK列をどうやって作ればいいのかってことになります・・・
0109名無しさん@そうだ選挙にいこう
垢版 |
2019/08/07(水) 19:23:10.08
>>104
あとあとのこと考えると、元帳をさっさと
日付 項目 金額
で正規化・DB化して、
ピボットテーブルで日付別に集計した方が
良さそうだけど・・・
0110名無しさん@そうだ選挙にいこう
垢版 |
2019/08/07(水) 19:56:14.29
>>106
各日付と合計セルをJKから参照すればいんじゃないの?もっと複雑な話?

>>108
dim i as long
with 対象シート
for i=2 to 最終行
 if .cells(i, "O").value = .cells(i, "AF").value then .rows(i).delete
next
end with
※速度無視の単純コードなので行数増えれば増えるほど遅い
011192
垢版 |
2019/08/07(水) 21:51:09.50
遅くなってすみません。

>>93-95
何度もありがとうございます。

着色で妥協していただくか、マクロを組むか…。
チェック用のシートを作って動かしていたんですが
違う場所をわかるようにして! Excelで作れないの?
となってしまって困っていました。

皆様のレスを見せて妥協していただきます。
0115名無しさん@そうだ選挙にいこう
垢版 |
2019/08/07(水) 23:32:17.36
>>109
はい、そうなのですが、過去3年にわたって運用されていたので、手動で書き直すのは至難なんです・・・

>>110
項目数が可変なので、JKからは簡単に参照できないんです・・・
0120名無しさん@そうだ選挙にいこう
垢版 |
2019/08/08(木) 04:32:39.31
【1 OSの種類         .】 Android**
【2 Excelのバージョン   】 最新
【3 VBAが使えるか    .】
【4 VBAでの回答の可否】

Androidでシートを縮小しても、ほぼほぼ見える範囲が変わらないんですが、何かいい方法ないですか
0121名無しさん@そうだ選挙にいこう
垢版 |
2019/08/08(木) 13:40:14.84
【1 OSの種類         .】 Windows2010
【2 Excelのバージョン   】 Excel2019
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

振り仮名表示してる漢字が、直前に平仮名・カタカナ・漢字を入力すると消えてしまい、どうしたら解決するでしょうか?
英字は大丈夫なので、編集するときは直前に英小文字を挟んで、その小文字の前から入力してます
ググっても同じ症状が出てこないです
0122108
垢版 |
2019/08/08(木) 15:29:27.06
>>110

↓だと「コンパイルエラー Sub または Function が定義されていません。」になります


Sub Macro_test()

Dim i As Long
whis Sheets("tanka")

For i = Cells(Rows.Count, "i").End(xlUp).Row To 2 Step -1
If .Cells(i, "O").Value = .Cells(i, "AF").Value Then .Rows(i).Delete
Next
End whis
End Sub
0125名無しさん@そうだ選挙にいこう
垢版 |
2019/08/08(木) 21:41:40.38
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 多少
【4 VBAでの回答の可否】 可

https://imgur.com/nlK46RG

このような形に簡単に並べ替えてまとめたいのですが、どのような方法があるでしょうか?
どんな方法でも構わないので教えていただければ よろしくお願いします。
0130名無しさん@そうだ選挙にいこう
垢版 |
2019/08/08(木) 21:59:40.53
sumでいいんじゃないの
0131名無しさん@そうだ選挙にいこう
垢版 |
2019/08/08(木) 22:01:01.08
説明しにくいから画像には行番号列番号もいれたほうがいいよ
0134名無しさん@そうだ選挙にいこう
垢版 |
2019/08/08(木) 22:29:45.36
Excel画面標準の行と列のラベルのつもりだったがそうきたか
まぁ全く問題ないけどね
0135名無しさん@そうだ選挙にいこう
垢版 |
2019/08/08(木) 22:38:22.77
H18に =sum(H1:H6) でいいんじゃないの? 
0136名無しさん@そうだ選挙にいこう
垢版 |
2019/08/08(木) 22:53:00.90
select f1, f2, f3, f4, min(f5) as f5, min(f6) as f6, null as f7,
    max(@) as @, max(A) as A, max(B) as B,
    max(C) as C, max(D) as D
from [Sheet1$]
group by f1, f2, f3, f4

こうじゃね?wwwww
0137名無しさん@そうだ選挙にいこう
垢版 |
2019/08/09(金) 23:07:59.54
>>129
数式なら単純にSUMで範囲を足すだけ
単純な表だからピボットもウィザード通りにやるだけでできる程度だが、SUMで事足り過ぎるから敢えてピボットでややこしくすることはない…
0138名無しさん@そうだ選挙にいこう
垢版 |
2019/08/10(土) 13:47:07.11
【1 OSの種類】 Windows10
【2 Excelのバージョン】 Excel office365
【3 VBAが使えるか】 はい(多少程度)
【4 VBAでの回答の可否】 否
webからの情報取り込みをしてexcelでリストを作成したい
取り込みたいのは文字と数字のみ
webの情報は表になっておらず形態はてんでバラバラ
webクエリ機能を使って取り込み可能かどうか、また他に何か方法はあるか?
手間など経験値がある人いたら教えてください
0140名無しさん@そうだ選挙にいこう
垢版 |
2019/08/10(土) 14:28:55.13
>>138
補足
ロケーションリストを作成する

例えば下記のように地図からインフォを開けないとアドレスが出てこないものもあれば
https://www.starbucks.co.uk/store-locator?map=51.508866,-0.125227,12z&;place=london

ページごとのLocation
http://espressovivace.com/retail/brix/

1ページにLocation一覧
http://www.caffevita.com/location

ここにある名称/住所を取得してロケーション一覧を作る
事後作業として住所から緯度経度を調べる

各企業ごとにページの作りはバラバラという状態だがそこはさておき最終的にexcelで加工して一覧に出来れば良い
まず取り込む方法を調べたいというところ
0143名無しさん@そうだ選挙にいこう
垢版 |
2019/08/10(土) 15:10:51.62
>>141
うん
コード読み込んでこのタグで切るとか
企業ごとの規則性を把握して処理するかというところなんだけど
ただそこにこだわらずwebクエリというのを使ったことがないので誰か知ってたら教えて欲しいなと
ネックは地図からしかロケーションを見られない企業があること
どこが取得済みかのチェックができない…

あとはロケーションごとにページが分かれているところ
数が多くて大変
ここはVBAで全パラメーター終えるまで処理とか方法あるだろうか?と想像している

ただ単純取り込みはVBAじゃなくてwebクエリでできるならやりたい
0144名無しさん@そうだ選挙にいこう
垢版 |
2019/08/10(土) 15:38:05.19
>>143
便宜上ロケーションリストを例に出したが実際作るのは気象情報に関すること
かなりのページ数あるからそこはやはりVBAか
ちょっと調べてみる
0145名無しさん@そうだ選挙にいこう
垢版 |
2019/08/10(土) 16:35:33.27
>>138
webクエリは表面に見えている情報しか取り込めない。まぁ無理だと思う
vbaならhttpで簡単に取得できる
スターバックスの場合、114行目にjson形式で全店舗格納されてるからパースすれば楽勝
0146名無しさん@そうだ選挙にいこう
垢版 |
2019/08/11(日) 14:09:41.12
よろしくお願いいたします。

A1セルにいくつかのセルの合計数値が入っています。

B1に、="合計は" & A1 & "円です" と表示させたいです。
しかも、A1の部分を、 \**,***,***のような、一般的な通貨表示の形式にしたいです。
B1にどう書けばいいでしょうか?
0152名無しさん@そうだ選挙にいこう
垢版 |
2019/08/11(日) 20:43:42.41
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Googleスプレッドシート
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

配列数式ArrayFormulaを使って複数行に関数を反映させたいのですが
同じ列の特定の行から下は別のデータが入っていて上書きエラーになります。
配列数式ArrayFormulaを特定の行までという指定をすることは可能でしょうか。
0156名無しさん@そうだ選挙にいこう
垢版 |
2019/08/12(月) 00:02:22.85
>>154
分かった、答える。答えるから…
だからそういう態度やめて…

基本的にみんな善意で答えてくれてるんだから
あんまり答えてもらって当然、みたいな態度はね…
別にスプレッドシートの質問に答えちゃ駄目とかいう
ルールもないし、かといって質問してもいいルールも
あるワケじゃないけど、ここが何のスレなのかご存知のハズ。
回答してくれる人達みんな機械的なルールに則って
答えてるワケじゃないんだから…たまにはwordの
質問なんかにも答えてくれることだってあるかもしれない。
でもそれを当然の様に思っちゃダメですよ、それは
親切な人が偶々(たまたま)答えてくれたに過ぎないんですから。
前スレでは確かに、スプレッドシートの話しがチラホラ出ていたし
質問もあったね、アナタと同じテンプレの方で
その質問には回答が付いてなかったように思います。
いやもちろんアナタが、回答も付かないのにスレ違いの質問を
2回繰り返すような愚を犯すなんて私は思ってないから…

すいません、質問のお返事でしたね…

答えは可能です。これでよろしいでしょうか?
0158名無しさん@そうだ選挙にいこう
垢版 |
2019/08/12(月) 02:20:09.25
【1 OSの種類 】 Windows10
【2 Excelのバージョン 】 WPS Spreadsheets
【3 VBAが使えるか】いいえ
【4 VBAでの回答の可否】否

数量が変化する表から2つの条件を満たした指定列のセルの文字を返したいのですが同じものが複数存在します

A B C
1 1 あ
1 1 あ
1 2 い
2 1 あ
2 1 い
2 1 い
2 1 い

A列=1 B列=1 ならば「あ」
A列=1 B列=2 ならば「い」
A列=2 B列=1 ならば「い」
みたいに出来る方法を教えて下さい
0162名無しさん@そうだ選挙にいこう
垢版 |
2019/08/12(月) 09:07:04.61
>>161
言葉足らずで申し訳ない

別のシートのセル
A1=1 B1=1 C1=取り出したい文字列
A2=1 B2=2 C2=
A3=2 B3=1 C3=

てな感じで条件に合った文字だけ排出したいんです
各条件が1個しかない場合は分かるのですが複数の場合はエラーが出ます
条件が一致してる文字は常に同じなので一度纏めてからの方が良いのでしょうが纏めずに排出したいです
0164名無しさん@そうだ選挙にいこう
垢版 |
2019/08/12(月) 09:23:48.07
>>162
>各条件が1個しかない場合は分かるのですが複数の場合はエラー
これキングソフトの独自仕様。Excel、googleスプレッドシートではエラーが出ない
せめてgogleスプレッドシートを使った方が良い
あと、キーをまとめずにやる方法はvbaしかない
作業列を作ればキーをまとめなくてもいい方法もあるけど
キングソフトの独自仕様までは付き合えないかな
0165名無しさん@そうだ選挙にいこう
垢版 |
2019/08/12(月) 10:34:04.44
>>164
なるほど
EXCEL 2007で作ります

=VLOOKUP(A1&B1',sheet2!A:C,3,0)だとエラーになります
答えが同じ文字でも複数存在するからですよね

良い方法をご教授下さい
0171名無しさん@そうだ選挙にいこう
垢版 |
2019/08/12(月) 11:03:30.25
検索条件のセルは検索範囲と別途シートで別行にあるのが問題なんでしょうか?
K3=1 A3=1

=VLOOKUP(K3&A5,sheet2!A:C,3,0)


実際はこんな感じです
0173名無しさん@そうだ選挙にいこう
垢版 |
2019/08/12(月) 11:28:15.18
>>172
残念ですが会社のなんであげられらないっす


一度sheet2のAとB列を結合させてC行に表示させ検索範囲をC:Dにして2行目の値を返したら複数あっても最初のセルが返りました

作業行を作らず出来る方法があるのでしょうか? 無ければ作業行を入れて使用します
■ このスレッドは過去ログ倉庫に格納されています

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