X



Excel総合相談所 133
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@そうだ選挙にいこう
垢版 |
2018/11/11(日) 21:12:25.75
▼━質問テンプレ (出来れば使ってね) ━━━
【1 OSの種類         .】 Windows**
【2 Excelのバージョン   】 Excel**
【3 VBAが使えるか    .】 はい・いいえ
【4 VBAでの回答の可否】 可・否

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

前スレ
Excel総合相談所 132
https://mevius.5ch.net/test/read.cgi/bsoft/1530415352/

Excel VBA 質問スレ Part57
https://mevius.5ch.net/test/read.cgi/tech/1536583359/

【質問不可】Excel総合相談所スレの雑談・議論スレ4
https://mevius.5ch.net/test/read.cgi/bsoft/1489108851/
0368名無しさん@そうだ選挙にいこう
垢版 |
2018/12/15(土) 13:38:18.88
>>367
印刷プレビューは当然として
ページレイアウトモードで作業をすればいいんじゃないの?
実際には普段使わないからどこまで正確かはしらないけど
0370名無しさん@そうだ選挙にいこう
垢版 |
2018/12/15(土) 16:24:58.94
紙に合わせたいなら、ALL罫線の格子印刷してポジションチェックするよな?
プレ印刷の定型用紙とか、封筒のプリントとか
0371名無しさん@そうだ選挙にいこう
垢版 |
2018/12/17(月) 00:21:48.66
実際に色々やってみればわかるけど、印刷プレビューもあてにならない
文字が切れたり、数値が####になったり
ワークシートとプレビューと印刷で食い違うなんてしょっちゅう、だから確実に最終確認するには実際に紙に出すかPDF化ぐらいしかない
0372名無しさん@そうだ選挙にいこう
垢版 |
2018/12/17(月) 08:54:45.49
>>369
方眼紙利用の目的はまた別なんでしょう
0374名無しさん@そうだ選挙にいこう
垢版 |
2018/12/17(月) 12:31:15.12
デフォルトプリンタを仮想プリンタに変えておくべきなのは、一部の企業では常識。PDFでもDocuWorksでもXPSでも良いから。
0376名無しさん@そうだ選挙にいこう
垢版 |
2018/12/17(月) 13:33:21.03
質問失礼します。
Excel2013をつかっているのですが、突然、数式をいれた条件つき書式がオートフィルをしてもコピーをしても、参照先がかわらなくなりました
絶対参照は解除しています。

直しかたを教えてください。
よろしくお願いいたします
0381名無しさん@そうだ選挙にいこう
垢版 |
2018/12/17(月) 19:39:45.04
Excelにめちゃくちゃ強くなりたい者です。

簡単な関数を組む程度ならできます。

どういった順序を踏めばいいでしょうか?

Excelの資格を取ることは正しい順序でしょうか?
0385名無しさん@そうだ選挙にいこう
垢版 |
2018/12/17(月) 20:52:00.83
>>381
Excelを覚えるのもいいけど
それ以上に必要業務の知識大事にしてね
それがないと、何を作ったらいいのかさえ
わからない。

逆にそれが分かれば、深く追求する必要がある
Excelの技術部分が見えてくる。
0386名無しさん@そうだ選挙にいこう
垢版 |
2018/12/17(月) 20:53:30.74
>>381
このスレをずーっと読み直して延々解きまくればいいと思う
あらゆる方面で強くなる

>>382
あぁ、そういう意味か
俺は紙より時間の方がもったいないからガンガン印刷する派だ
これは話が合いそうにないね
0389381
垢版 |
2018/12/17(月) 21:33:00.36
ありがとう。

頑張ってみるわ。
0392名無しさん@そうだ選挙にいこう
垢版 |
2018/12/17(月) 23:01:02.63
ちなみに、あげるとどういう問題があるん?
よくそういう人いるけど
0393名無しさん@そうだ選挙にいこう
垢版 |
2018/12/17(月) 23:45:16.52
>>392
結論から言うと、無い

専用ブラウザじゃなくIEやchromeで見た時の話なんだけど、
sage以外の書き込みをすると一覧で順位がTOPに上がり荒らしが入ってきやすくなる、
というのがそもそもの理由

そこから更にageて書くと空気が読めない奴と思われるようになった

しかし今どき専ブラ使わない奴の方が珍しいから意味ないし、
質問スレの場合ageて書くほうが正しい

専ブラにしろ専ブラ以外にしろ、メール欄なんてデフォルトから変える理由がとにかく無い
>>391は本当に何もかもが的外れなレスで時代錯誤の老害としか言いようがない
0394名無しさん@そうだ選挙にいこう
垢版 |
2018/12/17(月) 23:46:29.46
ただ強いて言うなら>>381は特に意味のない改行を繰り返しているので個人的にはかなり嫌い
意味のない改行はやめて欲しい
amebaなら分かるけど
0396381
垢版 |
2018/12/18(火) 07:21:07.37
改行等失礼致しました。

今後気をつけるように致します。

ありがとうございます。
0397名無しさん@そうだ選挙にいこう
垢版 |
2018/12/18(火) 08:39:42.61
別ワークシートをvlookupで参照して
いくつもの列にそれぞれ計算結果を表示させているのですが
途中に行を足したりして増えていくとコピペミスが起きることがあり困ってます。
これをマクロで計算させる場合、計算結果が出るのはマクロを実行したタイミングでしょうか?
それとも変数のセルに入力したタイミングで結果が出ますでしょうか?
0398名無しさん@そうだ選挙にいこう
垢版 |
2018/12/18(火) 09:27:37.97
>>396
改行は嫌いだけどこういう返しは好きだよw
まぁヤリ過ぎんようにな

>>397
>計算結果が出るのはマクロを実行したタイミングでしょうか?
基本的にはそう
vlookupを使わずに単純にマクロで計算する場合、任意のタイミング一度だけ
ただこれだと結構不便なので以下のように発展させることもできる

>セルに入力したタイミングで結果が出ますでしょうか?
イベントという概念がある
ワークしートの内容が変わった時に発動するマクロというものを作ることが出来る
https://docs.microsoft.com/ja-jp/office/vba/api/excel.worksheet.change


個人的には、「セルに入力したタイミングで数式を最終行まで入力し直す」
というマクロにして入力以外何もさせないって形が好き
0400381
垢版 |
2018/12/18(火) 20:23:22.72
昨日資格は不要と聞きましたが、テキストなどに沿ってExcelを学んでいきたいと思います。FOMシリーズはどうでしょうか?
0402名無しさん@そうだ選挙にいこう
垢版 |
2018/12/19(水) 01:20:48.58
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 できれば否

商品毎に最新日の行にTRIE判定をつけたいのですが
どのような計算式を書けばいいのでしょうか
下記のイメージです
よろしくお願いいたします。

#  商品群  ___DATE__  最新判定
1  みかん  2018/3/5
2  りんご   2018/7/3  TRUE
3  いちご   2018/1/2
4  みかん  2018/6/5  TRUE
5  りんご   2018/4/4
6  いちご   2018/9/8  TRUE
7  みかん  2018/5/3
0405名無しさん@そうだ選挙にいこう
垢版 |
2018/12/19(水) 07:47:31.56
商品の種類が多くなければIFで商品別作業列に日付を参照しmaxとればいい
作業列は判定列より右に作り非表示にしておく
0410名無しさん@そうだ選挙にいこう
垢版 |
2018/12/19(水) 11:46:49.34
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい・
【4 VBAでの回答の可否】 可
VBでpdfを作成させていますが、チェックボックスが黒く塗りつぶされるユーザーがいます。プロパティでAcrobatのバージョンが古いのはわかりましたが、新しくする方法がわかりません。原因は違うかもしれませんが。知恵を拝借したく。よろしくお願いします。
0414名無しさん@そうだ選挙にいこう
垢版 |
2018/12/19(水) 13:13:34.00
俺はsumproductと配列はすごく使うな
逆に作業列は辿るのが大変でかえってわかりづらい
関数型言語みたいに副作用なく完結するのがいい
0416名無しさん@そうだ選挙にいこう
垢版 |
2018/12/19(水) 16:50:24.09
sumproductは意図が分かりにくいだけじゃなくてクソ重いから使われないんじゃないの
最初から配列で演算するのが前提ならいいけど条件式替わりとかだと特にクソ
0417名無しさん@そうだ選挙にいこう
垢版 |
2018/12/19(水) 16:51:03.09
【悔日企業ヘイトバンク】 父は犬、兄は黒人、白戸は白洲、私たちはあのCMを見るたびに侮辱されていた
http://rosie.5ch.net/test/read.cgi/liveplus/1545098183/l50

 I T 業 界 の B T S 問 題 浮 上 !
0419名無しさん@そうだ選挙にいこう
垢版 |
2018/12/19(水) 18:16:16.05
すばらしい
0420名無しさん@そうだ選挙にいこう
垢版 |
2018/12/19(水) 18:45:15.27
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

従業員の連続残業日数をカウントしたいと考えています。

残業した日を1、定時退社を0と入力までは行ったのですが新たな作業列を作らずに1つのセル内でカウントする方法をご指南お願いします。



A列は氏名、B列以降は日にちとして横方向にカレンダーを作成しています

山田 110011100110 (連続残業回数として4を反映させたい)

佐藤111001110011(連続残業回数として5を反映させたい)

田中000001100000(連続残業回数として1を反映させたい)

山本010011100000(連続残業回数として2を反映させたい)

以上、宜しくお願い致します。
0422名無しさん@そうだ選挙にいこう
垢版 |
2018/12/19(水) 19:11:03.14
>>420
N1="0"&B1&C1&D1&E1&F1&G1&H1&I1&J1&K1&L1&M1&"0"
O1=LEN(N1)-LEN(SUBSTITUTE(N1,"0110","010"))
+(LEN(N1)-LEN(SUBSTITUTE(N1,"01110","010")))
+(LEN(N1)-LEN(SUBSTITUTE(N1,"011110","010")))

とりあえず12日分で上記を考えたけど、余裕で文字数オーバーになるな
無理じゃね
0423名無しさん@そうだ選挙にいこう
垢版 |
2018/12/19(水) 19:11:55.57
O1=LEN(N1)-LEN(SUBSTITUTE(N1,"0110","010"))
+(LEN(N1)-LEN(SUBSTITUTE(N1,"01110","010")))
+(LEN(N1)-LEN(SUBSTITUTE(N1,"011110","010")))

これは「1111」までしか対応していないので、「11・・・・11」と31連勤分まで作成するという意味ね
0430423
垢版 |
2018/12/19(水) 20:27:48.26
あーそうか01を取って残りをそのままlen()に突っ込むだけで終わりだったのか
しゅ、しゅごい・・・
0434名無しさん@そうだ選挙にいこう
垢版 |
2018/12/19(水) 21:17:38.61
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel10
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可


絶対アドレスでhoge\Aというフォルダに
0001.hoge-2000.hogeと連番でファイルが有ります。

エクセルでB列に0001から2000までファイル名でリストが並んでいて、
このBのファイル名をクリックしたら該当ファイルを開けるようにしたい。
ハイパーリンクでやろうとしましたが、数が多いので時間がかかります。
ハイパーリンクにこだわらなくても、目的を果たせればいいので
一気に設定できるやり方は無いでしょうか?

*B列の記述「ファイル名(拡張子除く番号のみ)」は変更できません

どなたかご教授お願いいたします
0436名無しさん@そうだ選挙にいこう
垢版 |
2018/12/19(水) 22:12:15.19
>>412
ありがとうございます。アクロバットのインストールで解決した人としなかった人がいました。解決しなかったのは、ファイルの種類をpdfにして、オプションのpdfのオプション「ISO 19005-1に準拠」にチェックが入っていました。なぜここにチェックが入っていたかは不明ですが。
0437名無しさん@そうだ選挙にいこう
垢版 |
2018/12/19(水) 22:47:52.66
>>432
これって、データがどのように入っていることを
前提にしてるの?
0438437
垢版 |
2018/12/19(水) 22:49:54.73
ああごめん。
違う問題を見ていた。
0439名無しさん@そうだ選挙にいこう
垢版 |
2018/12/19(水) 23:55:42.35
セル縦に連続3つの合計を、起点を下にずらしながら計算して1番大きかった3つのセルを罫線で囲み、その合計値を取得したい
0442名無しさん@そうだ選挙にいこう
垢版 |
2018/12/20(木) 09:34:20.09
>>319 です。

Sub 入金取り込み()
Dim meibo As Long
Dim nyuukin As Long
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim cmax As Long

Set ws1 = Worksheets("名簿")
Set ws2 = Worksheets("入金")
cmax = ws2.Range("A65536").End(xlUp).Row


For meibo = 2 To 2000
For nyuukin = 2 To cmax

If ws2.Range("B" & nyuukin).Value = ws1.Range("A" & meibo).Value Then
ws1.Range("C" & meibo).Value = ws2.Range("C" & nyuukin).Value

Exit For
End If
Next
Next
End Sub


いろんなパターンがあるエラーをうまくはじく方法が思いつかなかったので
ひとつ入力するたびに選択するようなダイアログにしたいと思うのですが
( [OK] [スキップ] [キャンセル] のような感じ)
今の方法であってるのでしょうか?
根本的に作り直しですか?
0443名無しさん@そうだ選挙にいこう
垢版 |
2018/12/20(木) 11:08:18.38
>>441
慣れ
なんだかんだで15年やってるからねぇ

>>442
正解は無い
10年に一回ぐらいのエラーならそれでも全然問題はない
毎回100箇所ぐらいエラーがあるなら実用的とは言い難い
0444名無しさん@そうだ選挙にいこう
垢版 |
2018/12/20(木) 13:27:58.24
エラー件数が大量になるかもしれないなら
エラー出力シート用意してリスト出力しちゃうな、自分は

で、最後にエラー件数をメッセージ出す
0445名無しさん@そうだ選挙にいこう
垢版 |
2018/12/20(木) 14:59:17.76
>>442
何万回もループさせるのにいちいちダイアログ出すの?

最低限でも日付や金額が非常識な値じゃない事を関数等でチェックすべきじゃないの?
非常識な値ならスキップしセルに色を付けるとかで表示しあとで人が訂正するとか
0446名無しさん@そうだ選挙にいこう
垢版 |
2018/12/20(木) 15:31:49.25
vbaあるある
for ....
for ...
if errCount >= 100 then
if msgbox("もう100エラー超えたよ、データおかしくない?まだ継続する?",vbYesno+vbcritical) = vbcancel then
exit for
end if
errCount=0
end if
next
next
0447名無しさん@そうだ選挙にいこう
垢版 |
2018/12/20(木) 15:33:12.37
これだと何万回もループになるんですか?
せいぜい100個ちょっとを2000行のリストから探して入力していく作業です。
毎回のエラーは数個です。
エラー内容としてはすでに入力されている場合や該当のIDがない場合や
明らかな金額間違いなどを想定してます。
0448名無しさん@そうだ選挙にいこう
垢版 |
2018/12/20(木) 16:09:35.09
>100個ちょっとを2000行のリストから探して
あのー超単純計算で20万回なんですけどー・・・

>毎回のエラーは数個です。
これがダイアログで許容できる運用かどうかだよ
それは我々には分からない
個人的には絶対にやらない
0449名無しさん@そうだ選挙にいこう
垢版 |
2018/12/20(木) 17:42:49.26
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel10
【3 VBAが使えるか    .】 入門中
【4 VBAでの回答の可否】 可

A列に、ある店舗での客ごとの買物の金額が並んでいるとします。
そのお店は、どの商品もすべて、単価1000円のものしかありません。
その金額から判断し、B列に購入数は何個かという値、C列にはAに含まれている
消費税額を自動で入れていきたいです。税率8パーセントとは限らず、将来15パーセント
まで1パーセント刻みであがったときでも、常に税率を推測して内税額を算出するように
したいです。

単価が固定、税率は8パー以上15以下、 この条件で、頭のいい人なら推定できる式を考え
られるのではないでしょうか?教えてください。
関数でもVBAコードでもかまいません。

逆に、「どんな天才でもそんな推定は不可能である」ならそう教えてください。

よろしくお願いします。
0451名無しさん@そうだ選挙にいこう
垢版 |
2018/12/20(木) 17:57:18.74
>>447
>>447
簡単な入力ミス判定の一例
すでに入力されている場合 If 該当セルValue <> "" Then
該当のIDがない場合 If 該当セルValue = "" Then
明らかな金額間違い If IsNumeric(s) = True Then のあと金額範囲なども出来る

詳細設定をするには設定シートを設けたほうが変更時に便利だろう
日付、金額等の上下限 有効なID一覧等
0454名無しさん@そうだ選挙にいこう
垢版 |
2018/12/20(木) 18:10:35.62
販売が1個の時にa列に入るのは1080円か1000円か
a列それぞれの行で消費税率が違う場合はあるのか
作業列(セル)を使えるのか
このあたりの条件は?
0455名無しさん@そうだ選挙にいこう
垢版 |
2018/12/20(木) 19:04:53.03
>>449
全て同一日の情報でしょうかね。
そうでない場合は増税前か増税後が混じるので
購入情報側と消費税側の両者に日付がないといけないですね。

もし同一日なら、消費税率というセルが1つあれば、それを
参照して計算すればいい。変わった時には消費税セルを変更するだけ。


ただしその場合であっても、例の(話題になっている)軽減税率対象商品が
ある場合は、対象商品かそうでないかの識別が必要になるので
客ごとの合算ではなく、客&軽減税率対象ごとに合算にする形にしておかないと
いけないですね。
0460名無しさん@そうだ選挙にいこう
垢版 |
2018/12/20(木) 19:46:32.84
軽減税率ね〜。新聞社も甘い!
ここと関係ないけど消費増税延期も選択肢にあったのだろうが
反対する野党もない。今になって参院選目的に反対しても遅いわ。
0461名無しさん@そうだ選挙にいこう
垢版 |
2018/12/20(木) 20:06:13.51
>>449
軽減税率があるから提示された条件ではどんな天才でも不可能
解が複数存在するものが出てくる

もし将来的にも永久に軽減税率を考えなくていいなら関数で簡単に計算できることはできるけど
0462名無しさん@そうだ選挙にいこう
垢版 |
2018/12/20(木) 20:26:50.98
>>461
店の商品がすべて同一単価だとしても商品の一部に軽減税率がかかる可能性があれば無理ってこと?
で、そんな軽減税率なんか考えなくていいとすれば、関数で簡単に出せるの?

どうやって?
税率がいくらかわからないのに、絶対に出せる?
0467名無しさん@そうだ選挙にいこう
垢版 |
2018/12/20(木) 21:50:15.04
>>464
>>449が現実の話かどうかはわからんけど、現実の話ならありがちでメチャ面倒なのでこの手の業務に携わったことあるとここらへんが気になるのはよくわかる
■ このスレッドは過去ログ倉庫に格納されています

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