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/
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が現実の話かどうかはわからんけど、現実の話ならありがちでメチャ面倒なのでこの手の業務に携わったことあるとここらへんが気になるのはよくわかる
0469名無しさん@そうだ選挙にいこう
垢版 |
2018/12/20(木) 22:09:47.59
与えられた条件だけでいいなら
シートで単純に書けるけど
それでいいってことなんじゃないのかな。

でも、Excel初めてじゃないだろうしと考えると・・・・
なんでそんな質問するんだろうとも思うし・・・
0473名無しさん@そうだ選挙にいこう
垢版 |
2018/12/21(金) 11:07:51.91
10800で割り切れる → 消費税8パーセントと推定し計算
10900で割り切れる →  〃  9  〃
11000で割り切れる →  〃  10  〃
11100で割り切れる →  〃  11  〃


こんな感じでやるしかないか。
8から15パーセントの幅なら、複数の値で割り切れちゃうことないんじゃね?
0475名無しさん@そうだ選挙にいこう
垢版 |
2018/12/21(金) 11:35:12.93
>>474
単価10000円統一なら大丈夫じゃないかな。

割り切れないってことはありえない。
問題は、割り切れるパターンが複数ある場合。それもなさそうか。
0476名無しさん@そうだ選挙にいこう
垢版 |
2018/12/21(金) 12:19:33.33
>>449
461だけど、訂正
軽減税率なしでも絶対に分かるのは30240円未満まで

30240円の場合には税率と個数が一意に定まらないから、これは天才でも不可能
0478名無しさん@そうだ選挙にいこう
垢版 |
2018/12/21(金) 12:31:33.12
鈴木1,鈴木1
鈴木2,鈴木2


鈴木100,鈴木100

このように二つの数字が入ったものを両方連番に一気にやるやりかたないですか
0481名無しさん@そうだ選挙にいこう
垢版 |
2018/12/21(金) 19:15:13.14
>>476
30240円だと、税率8%確定だと思うけど。

1080円から、1090.、1100、、、1150まで、割り切れるのは1080だけだぞ?

あほか?
0482名無しさん@そうだ選挙にいこう
垢版 |
2018/12/21(金) 19:20:16.28
会社経理での消費税の扱いは、
仕入れ(仮払い)消費税でも売上(仮受け)消費税でも、
端数を切り捨てるか、
四捨五入するか、
一貫していればOKだと、
税務署の見解出てなかったっけ?
0487名無しさん@そうだ選挙にいこう
垢版 |
2018/12/21(金) 20:48:06.17
【1 OSの種類         .】 Windows 10 pro
【2 Excelのバージョン   】 Excel 2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

Excell 2016でウィンドウをドラッグすると、動作が遅延して
ヌル〜っとした気持ち悪い動きになるんだけど、これって直す方法ない?
Wordとか他のソフトのウィンドウは普通に動く

Core i9 9900K
RTX 2080Ti (ドライバーver 417.35)
メモリ 64GB (16GBx4)
0494名無しさん@そうだ選挙にいこう
垢版 |
2018/12/21(金) 22:12:20.76
私はあほなんだろう。
やり取り見ていて、いまだ、何をやりたいのかが
理解できていない。

分り易くおせーてください
0497名無しさん@そうだ選挙にいこう
垢版 |
2018/12/21(金) 22:35:21.80
>>494
「税込み金額しか記録しないシステムを作ってしまいました。
でも、購入品はすべて税抜き価格1000円のものばかりなので、
後からでも購入金額のうち、本体価格分と消費税分を計算で
分けることできるんじゃないかと思うんです」

こういうこと
■ このスレッドは過去ログ倉庫に格納されています

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