X



Excel総合相談所 130
レス数が900を超えています。1000を超えると表示できなくなるよ。
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
0815813
垢版 |
2018/04/06(金) 03:24:31.26
そうですね、たしかに足し算みたいだし分かりにくいですね。
0817805
垢版 |
2018/04/06(金) 06:39:01.35
>>808
修理依頼票として使うのですが、メールフォルダが200MBしかないので、
PDFを添付されると、メールフォルダがいっぱいになってしまうのです。
0821名無しさん@そうだ選挙にいこう
垢版 |
2018/04/06(金) 11:04:34.46
▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

セルにシート名を表示するシンプルな方法はないですか?

セルにシート名を表示させようと思ったんですが
ググるとCELL関数を使うものしか出て来なくて
そしてその方法がRIGHT関数とかLEN関数とかを組み合わせたりしてて
なんというか冗長に見えてしまうんです
もっとシンプルにシート名を取り出せないものでしょうか!
0823名無しさん@そうだ選挙にいこう
垢版 |
2018/04/06(金) 16:34:38.79
>>821
関数ひとつ作っとけばどう?
0825名無しさん@そうだ選挙にいこう
垢版 |
2018/04/06(金) 20:44:19.11
>>787です
結果ご報告です
=A7から下に向かってカレンダーを引っぱってました
条件書式は=$A7=TODAY()
しかしなぜか昨日の日付がハイライトされるのが困ってることでしたが、今日ファイルを開けてみると
条件書式が=$A8=TODAY()
になってました

結果的には条件書式が即時反映してなかったことが原因のようです
フォーマットを整えるなかでグループ化を沢山したり行挿入などをましたが、途中メモリ不足で一度強制終了しました
そういったなかで条件書式の表記は=A7~と見えるのに実際は=A8~で条件を取っていたという結果と思います
条件書式を=$A7=TODAY()にして解決

グループ化を沢山してExcelの挙動がおかしくなったのも初めてでした
0829名無しさん@そうだ選挙にいこう
垢版 |
2018/04/06(金) 22:23:50.56
そんなに単純にはならんよ
なるほどねーという工夫はあるけど

そういう例題
今月は何日まであるか、最もエレガントに示せ
0831805
垢版 |
2018/04/06(金) 22:49:48.81
>>818
会社からは使えませんでした。
0834名無しさん@そうだ選挙にいこう
垢版 |
2018/04/07(土) 00:12:06.07
CELL が嫌なら -CELL 付けてググればいい 一発目で出るだろ VBA使うけど
にしてもその書き方・使い方まで指導してる 簡単明瞭しかも早い
質問文書いてる間に結果が出てるぐらい簡単
サイトの主がアクセス数稼ぐために質問したんじゃねーのか?と、疑うぐらいどストライク
0835名無しさん@そうだ選挙にいこう
垢版 |
2018/04/07(土) 00:53:40.92
CELL関数で2番目のパラメータA1は省略できる
作業セルにCELL関数だけ置いとけば数式の文字数は減らせるけどアルゴリズムがシンプルになるわけじゃない

A1=CELL("filename")
A2=RIGHT(A1,LEN(A1)-FIND("]",A1))
0838名無しさん@そうだ選挙にいこう
垢版 |
2018/04/07(土) 10:48:40.70
省略したらでRフォルトはA1だろ
と思ったら血がてた

>この引数を省略した場合、最後に変更されたセルについて、
>"検査の種類" 引数に指定した情報が返されます。
>対象範囲がセル範囲の場合、その範囲の左上隅のセルに関する情報だけが返されます。

特に
>最後に変更されたセルについて、
に関しては、普通に別ブックも対象となるので絶対に省略しない方がいい
エライことになるぞ
0840名無しさん@そうだ選挙にいこう
垢版 |
2018/04/07(土) 11:53:00.98
試したら本当に別ブックのフルパスとシート名が出たわ
自分が普段使わん機能は注意せんとあかんな

しかし、これってなんのための機能なんだろう?
0842名無しさん@そうだ選挙にいこう
垢版 |
2018/04/07(土) 12:08:57.87
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

シートに3000行くらいのデータがあって、A列が日付、B列が名前、C列が得点です。
VBAで、以下のことを一気にやりたいのですが、どう書けばいいのか教えてください。

・B列で名前が空白の行を削除
・B列で名字と名前の間にスペースがある人がいるので、そのスペースを削除

表のいちばん下から、上に向かってループしながら、
削除とreplaceをやっていくしかないんでしょうか?
0843名無しさん@そうだ選挙にいこう
垢版 |
2018/04/07(土) 12:15:33.00
>>842
だいたい思ってるとおりで大丈夫だよ
3000行なら工夫してもしなくても1秒で終わるから、マクロの記録してちょっと修正すればいい

1.画面の書き換えを止める
2.データ範囲を調べて下からループ
3.名前が空白なら行削除、そうでなければスペース置換
4.ループ終了したら画面書き換え再開
0844名無しさん@そうだ選挙にいこう
垢版 |
2018/04/07(土) 12:18:12.69
>>842
どうしてもループせずに一気にやりたいならワークシート関数を使うといいかも
B列だけ範囲指定してスペースを何も無しに置換も1行で書けるし、オートフィルターを使えば空白セルをまとめて削除できる
0847名無しさん@そうだ選挙にいこう
垢版 |
2018/04/07(土) 13:45:24.39
3000行くらいなら一発で削除できるんじゃないの
columns("B").specialcells(xlcelltypeblanks).entirerow.delete

スペースの削除はマクロ使わんでも置換機能でいけるんじゃない
マクロでやるならreplace
columns("B").replace " ",""
0852名無しさん@そうだ選挙にいこう
垢版 |
2018/04/07(土) 14:39:01.02
WEBからコピペとかすると文字コード0xA0のスペースがたまに混じっててぐぬぬとなることがある
あとはTABに注意しとけばだいたいなんとかなるんでは
0855名無しさん@そうだ選挙にいこう
垢版 |
2018/04/07(土) 19:20:53.86
ブックAのセルからブックBのセルに関数をコピーペーストすると
ブックAのブック名まで一緒にペーストされてしまうのですが
ブック名はなしで関数のみペーストする方法はないでしょうか
0858名無しさん@そうだ選挙にいこう
垢版 |
2018/04/07(土) 19:56:35.28
>>855
方法は2つ
1つめは元のファイル名とシート名までを置換して削除する方法
!や'までちゃんと置換しないと失敗する


2つめはリンクの編集
データ→リンクの編集から変更する
けどバージョンによって違うだろうから自分の使用のExcelバージョンでググってくれ

excelxxxx 外部参照 関数 変更

こんくらいはわざわざ2ちゃん来なくてもググれるさー
0859名無しさん@そうだ選挙にいこう
垢版 |
2018/04/07(土) 19:57:39.67
>>855
方法は2つ
1つめは元のファイル名とシート名までを置換して削除する方法
!や'までちゃんと置換しないと失敗する


2つめはリンクの編集
データ→リンクの編集から変更する
けどバージョンによって違うだろうから自分の使用のExcelバージョンでググってくれ

excelxxxx 外部参照 関数 変更

こんくらいはわざわざ2ちゃん来なくてもググれるさー
0861名無しさん@そうだ選挙にいこう
垢版 |
2018/04/07(土) 20:08:27.31
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

A1からA5000くらいまで人名が入力されてるシートで、
人名の重複がある行はぜんぶ削除したいです。
複数応募は全無効なので、重複のうち1行だけを残すのではなく、
重複があった人名はぜんぶ削除したいのです。
VBAでなんとかできないでしょうか?
0867名無しさん@そうだ選挙にいこう
垢版 |
2018/04/07(土) 22:34:10.73
質問
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否


4月10日 朝
4月15日 昼
4月20日 朝
5月10日 昼
5月15日 夕
5月25日 朝
6月05日 朝
……

となっているデータから、5月分だけの一覧表を作るようにするにはどういう関数組めば良いんでしょう?
VLOOKUPでも最初の一つしか表示されないので困っています。
あと、可能であれば、元データの隣の列にある朝、昼、夕のデータを参照して、

抽出した表に、朝なら赤、昼なら黄、夕なら紫といったふうに、条件付き書式で表が色分け出来るようにしたいのですが…

うまく説明できているか解りませんが、宜しくお願いします。
0871名無しさん@そうだ選挙にいこう
垢版 |
2018/04/07(土) 23:24:36.99
>>868
データは昇順で並んでいます

>>869
できれば関数で解決したいです
0872868
垢版 |
2018/04/07(土) 23:51:07.38
>>871
元の表に作業列いれてもいいならできそう。

countifsかsumproductと、vlookup組み合わせでできないかな。
0874名無しさん@そうだ選挙にいこう
垢版 |
2018/04/08(日) 00:25:25.49
>>873
ありがとうございます。頂いたデータを参考にチャレンジしてみます。
0876名無しさん@そうだ選挙にいこう
垢版 |
2018/04/08(日) 01:47:23.36
=VLOOKUP(C3, $P$2:$Q$47, 2, FALSE)
という数式があります
C3と同じ数字の右二つ隣を表示

これにC3が空白なら空白
を加えるにはどうしたらいいですか?
0879877
垢版 |
2018/04/08(日) 03:42:31.90
>>878
ごめん、スマホで打ったのでダブルクォーテーションがおかしかった。
パソコンのキーボードからだと、Shihtキー押しながら上段数字の2を押したら入力されるのが正しいダブルクォーテーションです。
0881855
垢版 |
2018/04/08(日) 09:36:20.84
>>857-860
ありがとうございます
0882855
垢版 |
2018/04/08(日) 09:37:13.58
>>856
ありがとうございます
0883名無しさん@そうだ選挙にいこう
垢版 |
2018/04/08(日) 20:05:47.32
Excelの関数について質問があります。

○の数を=COUNTIF(A3:A20,"○")でカウントしてC、FをカウントしたいけどB,Dはカウントしたくないときはどうしたらよいでしょうか
0885名無しさん@そうだ選挙にいこう
垢版 |
2018/04/08(日) 20:21:35.10
>>884
横にドラッグしたいけどするとB,Dにも0がでて消すのがだるいのでどうにかならないかと思って。
かと言ってC,Fでもカウントするのも嫌なので。
0889名無しさん@そうだ選挙にいこう
垢版 |
2018/04/09(月) 18:27:02.54
質問
【1 OSの種類         .】 Windows10home
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

F1キーで出てくるハズのオンラインヘルプに繋がらなくなってしまった(接続しています...から動かない)ので直したい
ネットサーフィンは出来るのでインターネット接続はちゃんとある
手始めにどこを見ればいいでしょうか?
0891名無しさん@そうだ選挙にいこう
垢版 |
2018/04/09(月) 19:52:53.29
おねがいします

【1 OSの種類         .】 Windows7→10
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

機材は1年程度です
エクセルはその当時からの付属で
最近まで不自由がありませんでしたが先月ごろから

@ A1=B1+C1  で、B1に数字を入力した
A A1=B1  で、そのA1をC1にコピーしようとした

など計算に関する操作をしたときに
(文字列入力のときは無症状)

エクセルは動作しなくなりました
のメッセージが出て、強制終了
となっています

すべてのファイルでその症状が出ます
新規ファイルで計算をやり直そうとしますが
計算操作をした時点で、エラーが出て停止するところまではわかりました

ディスク再インストールしましたが、症状は変化しません


この時点で、では何がおかしいと見るべきでしょうか
機材自体まで、さかのぼっておかしいと見るべきでしょうか
エクセルのエラー以外、おかしいところは今のところありません
0893名無しさん@そうだ選挙にいこう
垢版 |
2018/04/09(月) 20:16:17.45
>>891

セキュリティソフト入ってます?
ノートンとか。それ一時的に切ってやってみてください。
それでダメならレジストリ削除で。
それでもダメなら2003なので古すぎるということで諦めてください。
0895892
垢版 |
2018/04/09(月) 20:30:51.38
>>894
補足するとoffice2016だと

A2:A1048576

をもっとスマートに書けないか、ということです
0896894
垢版 |
2018/04/09(月) 20:31:45.46
>>895

名前ミスしました(;つД`)
0899894
垢版 |
2018/04/09(月) 20:37:47.36
>>898
関数内に列範囲をスマートに書きたいのです。
将来的にExcelが100万行対応した場合のことを考えて絶対参照は避けたくて
0900名無しさん@そうだ選挙にいこう
垢版 |
2018/04/09(月) 20:37:50.39
あれか? プラモデル組み立てるのにヤマト糊でくっ付けようとしてる みたいなもんか
腕時計の修理で木ねじ使ってる ようなもんか
0901894
垢版 |
2018/04/09(月) 20:40:12.20
>>897
最終行は数値だけど途中に空白はあります
0904名無しさん@そうだ選挙にいこう
垢版 |
2018/04/09(月) 21:26:10.35
889ですが今試したらオンラインヘルプ参照出来ました2台で試してダメだったから諦めてたのになんか一時的な物だったみたい…
0905名無しさん@そうだ選挙にいこう
垢版 |
2018/04/09(月) 21:34:08.18
columns("A").resize(cells.rows.count-1).offset(1).address
とかでいけるだろうけど微妙。何するか知らんけどちょくちょくオーバーフローしそう。
0906名無しさん@そうだ選挙にいこう
垢版 |
2018/04/09(月) 23:46:56.33
>>893
ありがとうございます
やってみて様子をみましたが、いまひとつ改善がきませんので
お話のバージョンの問題なのかという感じで
こんどは手を打ってみようと思います
0907893
垢版 |
2018/04/10(火) 00:25:50.29
>>906
regeditでエクセル関連のレジストリ削除してもダメですか?
以前知人のPCで同じような症状でしたが、その時はウィルスバスターが原因でした。
0908名無しさん@そうだ選挙にいこう
垢版 |
2018/04/10(火) 12:08:18.59
○歳○ヶ月や○歳○○ヵ月など、
この年齢から○ヵ月の○の部分を取り出す関数わかるかたいますでしょうか…
年齢はすべて2桁です
midとfindとlenを組み合わせても○だけにならず○ヵ月と表示されてしまいます…
0909名無しさん@そうだ選挙にいこう
垢版 |
2018/04/10(火) 12:18:59.84
以前は依然、現在は現在
以前とおなじ動作を望むなら、ネットを切ってスタンドアロンで
当時の状況に復元して使うことが肝要
毎月毎月望みもしないアプデで微妙に肝心なところを改変されてるんだから

今朝電源入れたら起動しない 変なメッセージ出たまま先に進まん
〇〇アプリが起動しない 運用中唐突にフリーズする 等々
このところ増えてる気がする
一定レベルの性能を持つハード、Win10が要求する仕様に合致するソフト
しか動かないように、どんどん改善してまっせ というMS側の企みを つとに感じる今日この頃、皆様いかがお過ごしでしょうか。
0912名無しさん@そうだ選挙にいこう
垢版 |
2018/04/10(火) 12:50:59.43
>>910
ありがとうございます

=mid(a1,find("歳",a1)+1,len(a1)-2)
です
レス数が900を超えています。1000を超えると表示できなくなるよ。

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