Excel総合相談所 130
レス数が900を超えています。1000を超えると表示できなくなるよ。
▼━質問テンプレ (出来れば使ってね) ━━━
【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 >>813
vbNarrow + vbKatakana を即値で書くのは感心しない そうですね、たしかに足し算みたいだし分かりにくいですね。 >>808
修理依頼票として使うのですが、メールフォルダが200MBしかないので、
PDFを添付されると、メールフォルダがいっぱいになってしまうのです。 >>817
googleフォームでも使ったら?
あれなら実質無限に耐えられるだろう >>786
あ、そうなんだ
excel2010だから知らないやmspゴシックとmsp明朝で困らないからいいけど >>816
昨日「nowは明日試します」って書いてたから
今職場じゃないの? ▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
セルにシート名を表示するシンプルな方法はないですか?
セルにシート名を表示させようと思ったんですが
ググるとCELL関数を使うものしか出て来なくて
そしてその方法がRIGHT関数とかLEN関数とかを組み合わせたりしてて
なんというか冗長に見えてしまうんです
もっとシンプルにシート名を取り出せないものでしょうか! >>821
諦めろ
そんな都合のよい方法があったら
冗長な方法が検索の上位に来るはずがないではないか 検索で見つかるのは確かに冗長で、もう少しましなのはある >>787です
結果ご報告です
=A7から下に向かってカレンダーを引っぱってました
条件書式は=$A7=TODAY()
しかしなぜか昨日の日付がハイライトされるのが困ってることでしたが、今日ファイルを開けてみると
条件書式が=$A8=TODAY()
になってました
結果的には条件書式が即時反映してなかったことが原因のようです
フォーマットを整えるなかでグループ化を沢山したり行挿入などをましたが、途中メモリ不足で一度強制終了しました
そういったなかで条件書式の表記は=A7~と見えるのに実際は=A8~で条件を取っていたという結果と思います
条件書式を=$A7=TODAY()にして解決
グループ化を沢山してExcelの挙動がおかしくなったのも初めてでした クソオペして何もしてないって言い張るウンコだったのか >>821
超単純なのでできた気がするんだけど、、いま手元にファイルないからわかんないや
そこだけvba使ったかな…
わかったら書くわ そんなに単純にはならんよ
なるほどねーという工夫はあるけど
そういう例題
今月は何日まであるか、最もエレガントに示せ >>829
>>830
こいつらは何に対して言ってんだ
アンカーくらいつけろ 例題2
別のシートのセルに対してリンクを張るエレガントな方法 CELL が嫌なら -CELL 付けてググればいい 一発目で出るだろ VBA使うけど
にしてもその書き方・使い方まで指導してる 簡単明瞭しかも早い
質問文書いてる間に結果が出てるぐらい簡単
サイトの主がアクセス数稼ぐために質問したんじゃねーのか?と、疑うぐらいどストライク CELL関数で2番目のパラメータA1は省略できる
作業セルにCELL関数だけ置いとけば数式の文字数は減らせるけどアルゴリズムがシンプルになるわけじゃない
A1=CELL("filename")
A2=RIGHT(A1,LEN(A1)-FIND("]",A1)) 省略したらでRフォルトはA1だろ
と思ったら血がてた
>この引数を省略した場合、最後に変更されたセルについて、
>"検査の種類" 引数に指定した情報が返されます。
>対象範囲がセル範囲の場合、その範囲の左上隅のセルに関する情報だけが返されます。
特に
>最後に変更されたセルについて、
に関しては、普通に別ブックも対象となるので絶対に省略しない方がいい
エライことになるぞ 省略したらデフォルトはA1だろ
と思ったら違ってた 試したら本当に別ブックのフルパスとシート名が出たわ
自分が普段使わん機能は注意せんとあかんな
しかし、これってなんのための機能なんだろう? 【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
シートに3000行くらいのデータがあって、A列が日付、B列が名前、C列が得点です。
VBAで、以下のことを一気にやりたいのですが、どう書けばいいのか教えてください。
・B列で名前が空白の行を削除
・B列で名字と名前の間にスペースがある人がいるので、そのスペースを削除
表のいちばん下から、上に向かってループしながら、
削除とreplaceをやっていくしかないんでしょうか? >>842
だいたい思ってるとおりで大丈夫だよ
3000行なら工夫してもしなくても1秒で終わるから、マクロの記録してちょっと修正すればいい
1.画面の書き換えを止める
2.データ範囲を調べて下からループ
3.名前が空白なら行削除、そうでなければスペース置換
4.ループ終了したら画面書き換え再開 >>842
どうしてもループせずに一気にやりたいならワークシート関数を使うといいかも
B列だけ範囲指定してスペースを何も無しに置換も1行で書けるし、オートフィルターを使えば空白セルをまとめて削除できる 3000行くらいなら一発で削除できるんじゃないの
columns("B").specialcells(xlcelltypeblanks).entirerow.delete
スペースの削除はマクロ使わんでも置換機能でいけるんじゃない
マクロでやるならreplace
columns("B").replace " ","" >>840
びびるよな
元々はデバッグ用か何かだと思う。変な機能を詰めた関数ってとこじゃないかな
>>847
こういうレス見るとんっほおおおおおおってなる」 つまり、半角SP削除、全角SP削除、空白セル削除
の3行で済むってことか >>842
スペースの種類は半角、全角、それ以上とかバリエーション多いの? WEBからコピペとかすると文字コード0xA0のスペースがたまに混じっててぐぬぬとなることがある
あとはTABに注意しとけばだいたいなんとかなるんでは replaceメソッドは引数のMatchByteをtrueにして実行すれば全半角区別せずに置換できるよ
たぶん空白も行けるはず cell関数とかはマクロシートの頃の名残じゃないかな ブックAのセルからブックBのセルに関数をコピーペーストすると
ブックAのブック名まで一緒にペーストされてしまうのですが
ブック名はなしで関数のみペーストする方法はないでしょうか 計算式部分だけコピーしたらええんちゃう?
ドラッグとかしてな >>855
一度に大量にコピペするならShift+Ctrl+@で数式表示にしてメモ帳経由でコピペ
あるいはブック名を置換で消す >>855
方法は2つ
1つめは元のファイル名とシート名までを置換して削除する方法
!や'までちゃんと置換しないと失敗する
2つめはリンクの編集
データ→リンクの編集から変更する
けどバージョンによって違うだろうから自分の使用のExcelバージョンでググってくれ
excelxxxx 外部参照 関数 変更
こんくらいはわざわざ2ちゃん来なくてもググれるさー >>855
方法は2つ
1つめは元のファイル名とシート名までを置換して削除する方法
!や'までちゃんと置換しないと失敗する
2つめはリンクの編集
データ→リンクの編集から変更する
けどバージョンによって違うだろうから自分の使用のExcelバージョンでググってくれ
excelxxxx 外部参照 関数 変更
こんくらいはわざわざ2ちゃん来なくてもググれるさー >>855
シートごとコピーとかじゃなくてセル1つコピペなら、メモ帳経由がいいかもな
数式バーからまんまコピペすりゃいい 【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2013
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
A1からA5000くらいまで人名が入力されてるシートで、
人名の重複がある行はぜんぶ削除したいです。
複数応募は全無効なので、重複のうち1行だけを残すのではなく、
重複があった人名はぜんぶ削除したいのです。
VBAでなんとかできないでしょうか? >>861
vbaじゃなきゃだめなの?
ワークシート関数、countifとif(countifのカラム2列ですぐできる >>861
B列をcountif、値化、降順で並び替え、2以上を削除
vbaならfornextで下から見ていって、2以上の列を削除 >>861
ピボットテーブルなら一発でデータの個数が出せるから2以上を削除 質問
【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でも最初の一つしか表示されないので困っています。
あと、可能であれば、元データの隣の列にある朝、昼、夕のデータを参照して、
抽出した表に、朝なら赤、昼なら黄、夕なら紫といったふうに、条件付き書式で表が色分け出来るようにしたいのですが…
うまく説明できているか解りませんが、宜しくお願いします。 >>867
データは昇順に並んでますか?
VBAなら簡単だけど、関数でもできそうな気はする。 >>867
俺ならシート毎コピーして、フィルタで「5月」選ぶかな >>868
データは昇順で並んでいます
>>869
できれば関数で解決したいです >>871
元の表に作業列いれてもいいならできそう。
countifsかsumproductと、vlookup組み合わせでできないかな。 >>867
http://fast-uploader.com/file/7078669358886/
>抽出した表に、朝なら赤、昼なら黄、夕なら紫といったふうに、条件付き書式で表が色分け
これは自分でやってくれ
F:Gに設定すりゃ終わりだ >>873
ありがとうございます。頂いたデータを参考にチャレンジしてみます。 =VLOOKUP(C3, $P$2:$Q$47, 2, FALSE)
という数式があります
C3と同じ数字の右二つ隣を表示
これにC3が空白なら空白
を加えるにはどうしたらいいですか? 見てないから違ってるかもしれないけど、
=if(c3=“”,””,vlookup 以下略
ということ? >>877
=if(c3=“”,””,vlookup(C2, $P$2:$Q$47, 2, FALSE))
だと、入力した数式は正しくありません、と言われるのです >>878
ごめん、スマホで打ったのでダブルクォーテーションがおかしかった。
パソコンのキーボードからだと、Shihtキー押しながら上段数字の2を押したら入力されるのが正しいダブルクォーテーションです。 >>879
=if(c2="","",vlookup(C2, $P$2:$Q$47, 2, FALSE))
これでできました、ありがとうございます Excelの関数について質問があります。
○の数を=COUNTIF(A3:A20,"○")でカウントしてC、FをカウントしたいけどB,Dはカウントしたくないときはどうしたらよいでしょうか >>884
横にドラッグしたいけどするとB,Dにも0がでて消すのがだるいのでどうにかならないかと思って。
かと言ってC,Fでもカウントするのも嫌なので。 A21, C21, F21にそれぞれの合計が出るようにしておいて、
sum(A21, C21, F21)を計算する 質問
【1 OSの種類 .】 Windows10home
【2 Excelのバージョン 】 Excel2013
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 否
F1キーで出てくるハズのオンラインヘルプに繋がらなくなってしまった(接続しています...から動かない)ので直したい
ネットサーフィンは出来るのでインターネット接続はちゃんとある
手始めにどこを見ればいいでしょうか? おねがいします
【1 OSの種類 .】 Windows7→10
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
機材は1年程度です
エクセルはその当時からの付属で
最近まで不自由がありませんでしたが先月ごろから
@ A1=B1+C1 で、B1に数字を入力した
A A1=B1 で、そのA1をC1にコピーしようとした
など計算に関する操作をしたときに
(文字列入力のときは無症状)
エクセルは動作しなくなりました
のメッセージが出て、強制終了
となっています
すべてのファイルでその症状が出ます
新規ファイルで計算をやり直そうとしますが
計算操作をした時点で、エラーが出て停止するところまではわかりました
ディスク再インストールしましたが、症状は変化しません
この時点で、では何がおかしいと見るべきでしょうか
機材自体まで、さかのぼっておかしいと見るべきでしょうか
エクセルのエラー以外、おかしいところは今のところありません 889ですが
もしかしてExcel2013のサポート期限切れでオンラインヘルプが参照出来なくなったのかな…自決しました >>891
セキュリティソフト入ってます?
ノートンとか。それ一時的に切ってやってみてください。
それでダメならレジストリ削除で。
それでもダメなら2003なので古すぎるということで諦めてください。 初歩的な質問させてください
列の範囲指定で一行目のタイトル行を覗いてA:A相当の範囲指定ってできますか? >>894
補足するとoffice2016だと
A2:A1048576
をもっとスマートに書けないか、ということです >>894
途中に空白行があるかないか。
最終行が数値と決まっているか否か。
などで変わってくる。 >>894
え?
A2からshift+ctrl+↓で下に下がって、shift+ctrl押したままで今度は矢印を→
これでええんじゃないの? >>898
関数内に列範囲をスマートに書きたいのです。
将来的にExcelが100万行対応した場合のことを考えて絶対参照は避けたくて あれか? プラモデル組み立てるのにヤマト糊でくっ付けようとしてる みたいなもんか
腕時計の修理で木ねじ使ってる ようなもんか >>897
最終行は数値だけど途中に空白はあります >>899
文字列なら
"A2:A" & Rows.Count 889ですが今試したらオンラインヘルプ参照出来ました2台で試してダメだったから諦めてたのになんか一時的な物だったみたい… columns("A").resize(cells.rows.count-1).offset(1).address
とかでいけるだろうけど微妙。何するか知らんけどちょくちょくオーバーフローしそう。 >>893
ありがとうございます
やってみて様子をみましたが、いまひとつ改善がきませんので
お話のバージョンの問題なのかという感じで
こんどは手を打ってみようと思います >>906
regeditでエクセル関連のレジストリ削除してもダメですか?
以前知人のPCで同じような症状でしたが、その時はウィルスバスターが原因でした。 ○歳○ヶ月や○歳○○ヵ月など、
この年齢から○ヵ月の○の部分を取り出す関数わかるかたいますでしょうか…
年齢はすべて2桁です
midとfindとlenを組み合わせても○だけにならず○ヵ月と表示されてしまいます… 以前は依然、現在は現在
以前とおなじ動作を望むなら、ネットを切ってスタンドアロンで
当時の状況に復元して使うことが肝要
毎月毎月望みもしないアプデで微妙に肝心なところを改変されてるんだから
今朝電源入れたら起動しない 変なメッセージ出たまま先に進まん
〇〇アプリが起動しない 運用中唐突にフリーズする 等々
このところ増えてる気がする
一定レベルの性能を持つハード、Win10が要求する仕様に合致するソフト
しか動かないように、どんどん改善してまっせ というMS側の企みを つとに感じる今日この頃、皆様いかがお過ごしでしょうか。 〇ヶ月まで出てるならそこから右2文字消せばいんじゃないの >>910
ありがとうございます
=mid(a1,find("歳",a1)+1,len(a1)-2)
です 簡単なのはsubstituteでヶ月を削除するか。
右から2文字削除するか。 レス数が900を超えています。1000を超えると表示できなくなるよ。