Excel総合相談所 135
■ このスレッドは過去ログ倉庫に格納されています
【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 >>99 そこは統一されてると思う >>100 あぁ、そうだ。作業列でcounta()でやってた もしかしてcountifs()だと無理なのか >>95 出来るかもしれないが、無理な気がする。 俺なら諦めて条件の数だけ作業列作ってしまうかなぁ すいません(´д`) タブの中に不必要なページがなかったので、 印刷の必要がないセルを「非表示」にするだけで希望がかないました お目汚しすみません >>102 もう容量いっぱいいっぱいで 作業列追加するのもキツイかなぁというところです 空白認識できなければifを0にしてcountifsを"<>0"でやっとくのがいいですかね? vba書く前提部分なんだけど、tabキーでリンクフォーカスしてるのにエンター押してもリンク先に飛ばないのはなんで? >>106 言ってる意味が良く分からない エンターでダメならスペースキーは >>107 言葉足らずごめん IE上で動いてるシステムでtabキーでリンクフォーカスしてenter押してもリンク先が開かないんだよね spaceでもだめだった >>108 ページを見ないと分からないが、 ページ遷移が、マウスclickにバインドされているならそういう可能性もある >>109 チェックボックスへのチェックはスペースでできたからそれかもしれないですね なんでこんな使えない仕様にするかなあ 行と列に加えてもう一つのデータ軸を含んだ表をうまく扱う表形式ってどうすれば良いんだろう シートで分けるのは最悪 集計が面倒になるだけ 多次元配列だろうがなんだろうがテーブルにぶちこむだけだ 前任者の作ったシートがやたら重くて不評で「どうして重いのか見て貰えないか?」と言われて直してるんですが、 全てのVLOOKUPをINDEXに変えたり、無駄に名前があるセルの名前を廃止したり、変える必要も無いセルで無駄に条件付書式で色換えするセルを廃止したりで 一応は軽くなったんですが こういうのを見つけてしまいました AA7〜AA900まで、前半は変動するZを使って居るんですが後半が全く同じ式 AA7=Z7*1.08*IF($A$2="2倍修正",2,1) 〜 AA900=Z900*1.08*IF($A$2="2倍修正",2,1) 私の更に後任者になるだろう人に分かり易くするために、この後半のIF($A$2="2倍修正",2,1)を適当な作業セルAZ2辺りに移して AZ2=IF($A$2="2倍修正",2,1) AA7=Z7*1.08*AZ$2 〜 AA900=Z900*1.08*AZ$2 としておくべきでしょうか? 同じ計算を893回もやっているのを1つに纏めるわけですから既にVLOOKPU廃止などで軽くなっているものの、もう少し軽くなるでしょうし、分かりやすくなる…と思うのですが… どうでしょうか? 将来的にはマシンスペックが上がるから必要ないんじゃ? それよりも「1.08」を設定セル作って一ヵ所直せば全てに反映されるようにすべき いまどきのPCでたかだか1000行くらいで重いのは異常 昔は3000行あると重いなーということがあったもんだが おそらく原因は条件付き書式の増殖 >>117 高速vlookupとかでググるがよろし 速度差が出る原因も知っておいた方がいいし >>119 ググった index+matchのほうが結構早いんですね しかし本質的に完全一致が遅い原因でそこを工夫するべきと 勉強になりましたサンクス A列は固定の西暦(2019など)、B列に四桁の月日(0511など)C列に日数(60など)を入れて D列に2019年5月15日の60日前を「何年何月何日」として E列には同じように60日後を表示させたいんですがうまくいきません。 B列を年月日のデータにしてしまえば簡単なんですが、どうにかなりませんか? F列に年月日のデータをいれてそれを利用スレ簡単なんですけど >>121 d1 =DATE(A1,MID(B1,1,2),MID(B1,3,2))-C1 e1 =DATE(A1,MID(B1,1,2),MID(B1,3,2))+C1 >>117 処理速度はINDEXの方が軽いが容量はVLOOKUPの方が小さい なので、用途に分けて使い分けるのがいい >>125 多用したシートのファイル容量 あと、 1,2,3,4,5,6,7と並んでいるのを完全一致で検索するのはINDEXでも出来るが 2.7.9.10.13みたいな間が開いた数字を、以上以下で検索出来るのはVLOOKPだけ 【1 OSの種類 .】 Windows10 【2 Excelのバージョン 】 Excel2013 15.0.5049.1000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 否(っていうか、VBA関係ないので) 5月を和暦で表示しても、H31.5.12などと表示されてしまい、 令和にならないのですが、どうしてでしょう? Windows10の時計は令和対応になってますし、 レジストリにも令和が書き込まれているのですが。 再起動してもダメです。 Excelのバージョンが古いのかと思いましたが、 更新しようとしても、最新バージョンですと言われます。 >>126 >多用したシートのファイル容量 初めて聞いたけど、どれぐらい変わるの? >2.7.9.10.13みたいな間が開いた数字を、以上以下で検索出来るのはVLOOKPだけ 一応確認だけどindex+matchだよね? matchでも出来るよ https://docs.microsoft.com/ja-jp/office/vba/api/excel.worksheetfunction.match ↑すいません、取り消します。 やっぱ令和表示できなくていいです。 KB4495667のせいで、シート上に配置したコマンドボタンの位置が、 ありえないことになってしまったので、アンインストしました。 【1 OSの種類 .】 Windows10 【2 Excelのバージョン 】 Excel2013 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 否 この上の画像のシートに入力して下のシートの領収書作りたいんですけど、 下の#NEME?のところに関数入れてその横の"2"のところに数字入れると、リストの2行目を参照するみたいなの作りたいんだけど、#NEMEのところにどんな関数いれれば良いか教えて下さい というか関数でできますか https://i.imgur.com/371l4bZ.jpg https://i.imgur.com/GCr4fmE.jpg 【1 OSの種類 .】 Windows10 【2 Excelのバージョン 】 Office 365 Solo 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 図形で直線と四角・丸はコネクトできますが 直線同士でコネクトさせる方法をお聞かせください できればoffsetの関数を使ったやり方教えて下さい >>132 コネクトってのが良く分からないけど、 ctrl押しながら両方選択して右クリックでグループ化で良いのかな >>131 そういう数式はM1セルに入れるんじゃなくて、A5とかM6に書いた方がいいんじゃない? それともアドレスを文字列で作ってINDIRECTとか使うつもりだったりする? とりあえず A5 =OFFSET(Sheet1!A1,N1,3) M6 =OFFSET(Sheet1!A1,N1,2) E9 =OFFSET(Sheet1!A1,N1,4) みたいな感じでいいんじゃないかな >>135 なるほど。offsetの使い方勘違いしてました。勉強になります。 ありがとうございました。 >>132 > 直線同士でコネクトさせる方法をお聞かせください 直接は無理じゃねーの? 俺はダミーの透明図形(例えば○)を置いて各々それに接続してる 日付1-1(例:1992/10/1 0:00:00) 値1 値2 値3 日付1-2(1992/10/1 0:01:01) 日付1-3 ・ ・ 日付1-1000 日付2-1 日付2-2 日付2-3 ・ ・ 日付2-1000 1日の中で数秒刻みに値が記録されているシートがあるのですが グラフを生成しようとするとパフォーマンス的に出力し切れなかったので 日別(各日記録された先頭の1行だけを抽出(時間以下は切り捨て)シートを作成したいです どのように行えば良いでしょうか >>138 作業列に日付だけ抜き出して重複データの削除 sendkeyするときのfnに当たるキーってどれ? >>140 ない Fnは物理的なキーが足りないときにハード的に増やすための物だから、物理の制約を受けないSendkeysには関係ない >>141 そうすると、テンキーのないキーボードでnumlockが他のキーと兼用になっている場合、マウスキー機能を有効にする場合はshift +alt +numlock +fnだ思うんだけど、sendkeyじゃ対応できないですか? ちなみに>>110 です マウスキー機能ならあるいは・・と思いついてみたけどダメですかね すでに開いている IEのリンクをvbaでクリックしたい →getelementbyid等はどうしても理解できなかったし上手くいかなかった→ tabキーを適当な回数押して該当箇所にフォーカスした状態でenter押すようにsendkeyしよう→ なぜかフォーカスenterができないページだった(>>109 )→ マウスキー機能使えば行けるんじゃないか→ マウスキー機能に入るためのキー操作shift+alt +numlock +fnで躓く 素人丸出しでごめんなさい getelementbyid側から操作した方が楽な気がするんだけどな〜 idない場合もあるから、その時はclassやtagnameになるんだけど >>137 やはり直線同士は無理なんですね ダミーの図形を使ったやり方等で対応するようにしてみます >>145 社内システムの仕様が絡むので説明しづらいんですがgetelementbyidが厳しそうなんですよね、二窓以上で開くとすぐログイン競合とみなされてログアウトするとか >>144 マウスキー機能なんてあったのか、知らなかった fnは関係ないな。 shift+alt +numlockをsendkeyで送るだけでいいはず getelementbyidと二窓以上は関係ないよ 【1 OSの種類 .】 Windows10 【2 Excelのバージョン 】 Excel365 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 不可 列でなく、行にフィルターつけれませんか? 【1 OSの種類 .】 Windows7 【2 Excelのバージョン 】 Excel2013 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 西暦から会期を求める関数を教えてください。 会期は2月21日から翌年2月20日で セルA1が「2018/1/11」ならB1に「2017年度」 セルA2「2018/4/3」ならB2に「2018年度」 と表示させるためのB列の関数を教えてください。 B1=IF(AND(MONTH(A1)>=1,AND(MONTH(A1)<=2,DAY(A1)<=20)=TRUE)=TRUE,YEAR(A1)-1&"年度",YEAR(A1)&"年度") >>152 =YEAR(A1)-IF(MONTH(A1)*100+DAY(A1)<=220,1,0)&"年度" >>149 いけそうだったけどsendkeyでshift・alt・numlock同時押しってどういう書き方になるんでしょう 質問ですがご回答よろしくお願いします 【1 OSの種類 .】 Windows8 【2 Excelのバージョン 】 Excel2013 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 VBAやマクロが使えないので関数で抽出したいのですが 列 A B 行 1 A商店 750円 2 B商店 600円 3 C商店 650円 このような場合一番安い値段を提示している「B商店」を抽出したいのですがやり方が分かりません 値段ではなくあくまでも「B商店」と出したいのです 処理的にはまずB行から最安値を探し、その次にA行の同列の「B商店」を抽出する やりかた分かる方いれば教えてください。 よろしくお願いします。 >>157 同じ金額がないとして =INDEX(A:A,MATCH(MIN(B:B),B:B,0)) >>158 ありがとうございます その数式を当てはめてみたんですがブックに「循環参照が見つかった為〜」とエラーが出てしまい0になってしまいました できれば同じ数字がある状態でできないでしょうか? 同じ数字がある場合は一番上の列のお店を出るようにしたいです よろしくお願いします >>158 すごいできました すみませんその数式をコピーして貼り付けただけだったのでエラーがでてしまいました 列番をいれてみたらちゃんとB商店とでました ありがとうございます さすがです! >>150 そのファイル使う時だけ、画面表示を90度回転させるとか。 【1 OSの種類 .】 Windows10 【2 Excelのバージョン 】 Excel2016 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 全コピペでいけるなら可 ブックの最初の形式としては、『1』と『テンプレート』のシートが1枚あります。 2日以降はテンプレートのシートをもとに今日までのシートを自動で追加作成したいです。 今日14日に開いたときは1〜14の名前のシートがある状態にしたいのです。 ・1日に開いたら『1』のシートだけある。 ・5日に初めて開いたら『2』〜『5』のシートを自動で追加作成。 ・5日に一度開いて保存して10日に開いたら『6』〜『10』のシートを自動で追加作成。 というイメージです。 どうやればよいでしょうか? >>164 workbookに記述 Private Sub Workbook_Open() For i = 1 To Day(Date) 'シートの有無確認。あればtrue flag = False For Each ws In Worksheets If ws.Name = i & "" Then '文字列で比較 flag = True Exit For End If Next If flag Then 'none Else 'シート作成 Set シート = Sheets.Add(After:=Worksheets(Worksheets.Count)) シート.Name = i End If Next End Sub A1〜C3までを範囲として、 1 2 3 4 5 6 7 8 9 のように数字が並んでいて、 sendkeys A1 sendkeys B1 sendkeys c1 をひとまとめ、 sendkeys A2〜を二まとまりめ、 という形で飛ばしたいと思ってます 範囲はもっと下まで行くこともあるので最終行の取得は必須だと思いますが、どう書けばいいでしょうか for each c in [a:a] 処理 next >>166 帰ったらサンプルファイルアップするので賢者の皆様アドバイスお願いします >>166 https://dotup.org/uploda/dotup.org1847293.xlsx.html 東京・大阪・北海道の各出発時間・到着時間を黄色い部分に「sendkeysで」、「それぞれ東京・大阪・北海道の順序を守って」入力したいです。 実際にsendkeysでキーを送るのはブラウザ上のフォームであるため、順序等が変更できません また入力するのが東京・大阪・北海道だけでないかもしれないので、記載してある行すべてというイメージでお願いします ここでもvbaマスターがよく現れるから勘違いしてたけどvba専門スレがあるんですね 行ってみます 好きって言うか、本当はVisual Studioが良いんだけど、 会社のPCに入ってないので、仕方なくExcel。 でもまあExcel使わせてもらえるだけいいわな。 中には、Calcにされちゃったところもあるだろうし。 【1 OSの種類 .】 Windows8 【2 Excelのバージョン 】 Excel2013 【3 VBAが使えるか .】 始めたばかり 【4 VBAでの回答の可否】 可 すみません教えて下さい VBAでワークシートに設置したボタンを押すと、指定したセルに記載してあるワークシートを読み込み そのワークシートの複数の範囲を再計算をするプログラムが分かりません。 再計算の理由は演算式を消したいからです。 また、sum等の関数で求めた値を再計算すると3.2000000038のようになるのですが 表面だけではなくちゃんと3.2の値にしたいと思います。 よろしくお願いします >>176 きっちり3.2にするには、数式を見直して、目的に応じて書き変える必要がある 元のデータや計算の目的などがわからないと回答できない >>176 再計算は calculate 一行入れれば行われる >再計算の理由は演算式を消したいからです。 よくわからない。再計算で式は消えたりしない >sum等の関数で求めた値を再計算すると3.2000000038のようになる これは小数誤差。再計算は関係ない エクセル 小数誤差 などで検索 解決方法は数式を変えるか、vbaで適当に四捨五入するしかない >>177 >>179 親切の方ありがとうございます ヒントを頂きましたので自力でやってみます >>175 > 中には、Calcにされちゃったところもあるだろうし。 まともな会社とか組織ならほぼないだろ 一時的に移行したところも結構Officeに戻ってるみたいだし最近は話題にもならないw アシストですらOpenOfficeとかLibraの扱いやめてるし この場合のCalcってのは、カスタマイズやVBAを禁止された状態のExcelを例えて言ってる いや、マジCalc。 ウチは、客先とやりとりするファイルが〜とか、 ゴネた人だけExcelにしてもらった。 うちは大半が古いoooのCalcしか入ってない端末だから、微妙な仕様の違いで泣きをみることが多いわ Win10 office365 VBAちょっと使える、可能 Excelで商品の在庫管理したいんですが、マスターコードのシートを作るのがめんどくさいです バーコードリーダーで読み取ったJANコードをネットで検索して商品名セルに入れてくれるvbsとかありませんか? スマホアプリは多数ありますがExcelやaccessでは見つからないです >>186 レスありがとう VBAじゃなくてpython組み込みは難易度高過ぎ ヤフーとかにも売ってる一般的な商品の在庫管理です >Win10 office365 VBAちょっと使える、可能 一瞬、何で片言なのかと思ったわ。 【1 OSの種類 】 Windows7 【2 Excelのバージョン】 Excel2013 【3 VBAが使えるか】はい 【4 VBAでの回答の可否】 可 グラフで項目軸に複数のデータを指定した時 (例えばA列に日付、B列に曜日、C列に天気、D列に気温) 上から順に気温、天気、曜日、日付と表示されてしまいます 列の並びはそのままで日付が上に来るように出来ますか? >>17 その一般的なJAN一覧ってのが無料ではほとんど存在しない スクレイピングやりすぎるとあっというまにブロックされるし、 会社ならシステムに言ってデータ貰ったほうが早い 質問です。 セルにある改行ありのテキストをコピペした場合 ああああ あああああ あああああ をコピペすると "ああああ あああああ あああああ" と出力されてしまいます。F2押してshift+↑で全てを選択してからコピーすればそれはさけられますが、面倒です。 F2でセルに入らずともうまくコピペしたいのですが、何かよい方法はございませんでしょうか? >>192 ないんだな、これが 余計めんどくさいけどvbaでコピーするとかしかない 質問です。 さっそくvbaでやってみましたがこの改行ありのテキストをコピペした場合 ああああ あああああ あああああ をコピペすると ほほほほ ほほほほほ ほほほほほ と出力されてしまいます。F2押してshift+↑で全てを選択してからコピーすればそれはさけられますが、面倒です。 うまくコピペしたいのですが、何かよい方法はございませんでしょうか? >>194 意味が分からない。そのコードは間違えている https://www.ka-net.org/blog/?p=7537 s1 = "中国語テスト:" & vbNewLine & _ ChrW(&H94F6) & ChrW(&H884C) & ChrW(&H6682) & ChrW(&H505C) & _ ChrW(&H65B0) & ChrW(&H589E) & ChrW(&H4F4F) & ChrW(&H623F) & _ ChrW(&H8D37) & ChrW(&H6B3E) ↓ s1 = Cells(1, 1).Value に変更すれば可能 どなたかお願いします 横軸に時間、縦軸に項目名いれ、項目名がどの秒数ででてきたかをプロットされたグラフを作りたいです。 例ですが、各項目(あかとあお)が出てきた秒数を あか 30 124 246 あお 154 300 540 などの形式で記録しているのですが、うまく図にできません。 特に縦軸に自動で数字がふられてしまうのですが、縦軸を項目名にするにはどうしたらようでしょうか エクセルに画像をリンクで管理することはできませんか? エクセルに画像を入れていくとどんどんファイルが重くなっていくので、 画像をエクセルに埋め込みではなくリンクで管理できればなと・・・ >>198 出来るけど、ファイルを開いた瞬間消えていることがある。 何か動かすと突然表示されたり。 >>198 画像をAccessとかに入れてそれにExcelでリンクさせる ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる