X



Excel総合相談所 131

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

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

前スレ
Excel総合相談所 130
https://find.5ch.net/search?q=excel

Excel VBA 質問スレ Part51(1000到達済み)
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
0700名無しさん@そうだ選挙にいこう
垢版 |
2018/05/30(水) 21:41:04.83
>>698-699
作業列が必要と思ったけおd,必要なかったの?
その数式示したほうが良かったかも
質問者も回答者も作業列が必要と思ってるひとがいると思う。少なくともおれはそう思ったのであsんたら何いってんの?って突っ込みをした
名誉を守りたいなら、言い訳回答をしたらいいんじゃない?
0705名無しさん@そうだ選挙にいこう
垢版 |
2018/05/30(水) 22:44:35.79
>>700
は?作業列?
何だよそれ
単にあんたの理解力が足らないだけじゃん
範囲指定だけでいいけど念のために入れたんだよ
単に>=の後にアンパサンドとdatevalue入れるだけ
後ろ"<="&datevalue("2018/5/31")
そんだけ
べつにここで名誉とか関係ないし、あんたの為に数式丸々なんて書かないよ
さも周りもー、とか言って便乗して自己正当化すんな、勘違いしてんのはおっさんだけだよ
ググれば出てくんのに、んで因縁つけて
謝れな

んでお前が主のように振る舞って過疎ってれば楽しいやろ
0706名無しさん@そうだ選挙にいこう
垢版 |
2018/05/30(水) 23:33:23.04
>>701
おう、飲んでるぞ。エクセルなんて飲んでても楽勝やろ

というかそもそも>>666がエクセルの動的な解釈に任せすぎやろ
=COUNTIF(A:A,"2018/05")
この"2018/05"は2018/5/1と解釈される。シリアル値でいう43221

>>705
しらねーよ長文
数式かけばそれで通じるだろ
0707名無しさん@そうだ選挙にいこう
垢版 |
2018/05/30(水) 23:38:32.74
ほんとにExcel好きなんだな、オイラってつくづく思うわ。

会社でもアホみたいにExcelして電車の中でもExcelの動画見てるわ。
0708名無しさん@そうだ選挙にいこう
垢版 |
2018/05/31(木) 00:14:57.80
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

教えてください。
あるセルに、=A1-A2
という数式がある場合、A1には数値があっても、A2が空白だと
エラーが出てしまいます。
空白を0と見なす設定があったような気がするのですが、
どうでしょうか?
0714名無しさん@そうだ選挙にいこう
垢版 |
2018/06/01(金) 19:48:41.10
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可 VBAでの回答があれば調べて実践してみます

あるセルに入力された数字をnとして、
=G12*(G12+G13)*(G12+G13*2)*(G12+G13*3)…*(G12+G13*(n-1))*(G12+G13*n)
という計算ができるような関数は何かないでしょうか?
0717名無しさん@そうだ選挙にいこう
垢版 |
2018/06/01(金) 22:37:59.55
>>714
作った方が早い
適当だけどこんな感じ?

Function sample(x As Double, y As Double, n As Integer) As Double

&#160; &#160; Dim tmp&#160; &#160; &#160;As Double
&#160; &#160; Dim cnt&#160; &#160; &#160;As Integer

&#160; &#160; tmp = 0

&#160; &#160; For cnt = 0 To n
&#160; &#160; &#160; &#160; If cnt = 0 Then
&#160; &#160; &#160; &#160; &#160; &#160; tmp = x
&#160; &#160; &#160; &#160; Else
&#160; &#160; &#160; &#160; &#160; &#160; tmp = tmp * (x + y * cnt)
&#160; &#160; &#160; &#160; End If
&#160; &#160; Next

&#160; &#160; sample = tmp
End Function
0720名無しさん@そうだ選挙にいこう
垢版 |
2018/06/02(土) 11:54:54.85
エクセル最強の教科書という本を買おうかと考えてるんですが買わないほうがいいですか?
0721名無しさん@そうだ選挙にいこう
垢版 |
2018/06/02(土) 15:02:23.39
>>720
勉強本の合う/合わないは人による
迷っているなら買うといい

金がないなら、ヤフオクやメルカリで出てる本いっぱい買ってみて、合うやつを選べばいい
0723名無しさん@そうだ選挙にいこう
垢版 |
2018/06/02(土) 16:11:53.06
>>722
https://auctions.yahoo.co.jp/search/search?p=%E3%82%A8%E3%82%AF%E3%82%BB%E3%83%AB%E3%80%80%E6%9C%AC&;ei=UTF-8&oq=&auccat=0&tab_ex=commerce&fixed=0&s1=bidorbuy&o1=a
いっぱいっても5.6冊よ
最初は最新の高い奴一冊買うより、ちょっと古めの本何個かかって合うやつを選びながら基礎を学ぶのは悪くないと思う

エクセルってのは間口がものすごく広くて、正解と呼べるものがないんだよね。
0725名無しさん@そうだ選挙にいこう
垢版 |
2018/06/02(土) 19:22:16.80
バージョン古くても基本は同じだから本体1円+送料250円ぐらいの古本を買えばいい
いくらなんでも300円以下なら4冊ぐらい買えるだろ
0729名無しさん@そうだ選挙にいこう
垢版 |
2018/06/02(土) 20:48:47.93
結果表示を期待してんのかな?

販売では「3個で1,000円」なんていうのもあることだし、
入力用には単位個数と単価の2列を用意して、入力・Enter後は横移動に設定、
結果用にはもう一列追加して、
=(単位のセル)&"個 "&FIXED(単価のセル,0,FALSE)&"円"
とか?
0730名無しさん@そうだ選挙にいこう
垢版 |
2018/06/02(土) 21:13:13.55
質問です。

「文字列123m」というA列から数字だけB列に抽出したい場合、どういった数式がいいででしょうか?

ちなみに必ず右側はmなんですが、文字列は1〜3文字、数字は3〜4桁と変化します。

A列の例
東京200m
和歌山1300m
山2000m

ここから数字のみB列に抽出したいのです。
0736名無しさん@そうだ選挙にいこう
垢版 |
2018/06/03(日) 16:35:10.45
できた。失礼

>>732
文字列は必ず全角?あと最後のmは必ず半角?
たとえばosaka10mとかは無いと決まってる?
どちらにしても長い式になるけど、例えばこう。

=SUBSTITUTE(SUBSTITUTE(A1,LEFT(A1,LENB(A1)-LEN(A1)),""),"m","")
0739名無しさん@そうだ選挙にいこう
垢版 |
2018/06/03(日) 17:57:40.44
ネストしたifを一行で書くとか悪夢でしか無いしな
まずインデントしたソースを書いてから、
改行全部外したexcel版にコンパイルする
0741名無しさん@そうだ選挙にいこう
垢版 |
2018/06/03(日) 20:22:14.30
>>732 >>734
代入しまとめると
=LEFT(RIGHT(A1,4+ISNUMBER(VALUE(LEFT(RIGHT(A1,5),1)))),4+ISNUMBER(VALUE(LEFT(RIGHT(A1,5),1)))-1)

ちょっと判りにくいのはISNUMBERの戻り値のTRUE(真)、FALSEを1か0の数値として使い条件分岐させてるのでIFは使ってません
0742名無しさん@そうだ選挙にいこう
垢版 |
2018/06/03(日) 21:59:18.07
>>736
出来ました!助かりました!ありがとうございます。
mは必ず半角です!

SUBSTITUTE関数なんてあるんですね。勉強になります。
>>741さんもありがとうございました!
0743名無しさん@そうだ選挙にいこう
垢版 |
2018/06/03(日) 22:05:19.14
【1 OSの種類         .】 Windows8
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

期間の日数を年月日表記したいです。
開始日  終了日   期間日数  年  月  日
1990/1/1  2000/5/17  3789    10  4   16   ・・・(1)
2000/5/18  2001/4/19  336     0   11  1    ・・・(2)
2001/4/20  2015/3/15  5077    13  10   23   ・・・(3)
   8866    ・・・(4)

上記の期間日数、年、月、日はDATEDIFF関数を用いています。
例えば、(1)の期間であれば、10年4ヶ月16日となります。

今回質問したいのは、期間内に計上したくない期間があった場合です。
上記の例で言うと、総期間は
1990/1/1 〜 2015/3/15です。その間の(2)の期間を計上したくありません。
計上したい総日数でいうと、(1)+(3)=(4)の8866日です。
これを年月日表記にするにはどうしたらよいでしょうか。
月によって日数が異なりますし、うるう年の関係もあるのでその判定をしないといけないでしょうか。
0744名無しさん@そうだ選挙にいこう
垢版 |
2018/06/03(日) 22:29:05.39
考えたパターンとしては、
1つめ
1990/1/1に8886日を足して、その期間をDATEDIFFで計算
1990/1/1 2014/4/11 8866 24 3 10
となります。

2つめ
(1)と(3)の年月日を足し算
23年14ヶ月39日
→繰上げ計算(日は30日として)
 →24年3ヶ月9日となります。

3つめ
総期間1990/1/1〜2015/3/15のDATEDIFF
1990/1/1 2015/3/15 9204 25 2 14
から除外期間(2)の年月日を減算
25年ー9ヶ月13日
→繰り下げ計算
 →24年3ヶ月13日となります。

年、月レベルでは差は生じないのですが、
日ではそれぞれ異なってきます。
エクセルどうこうよりも期間計算の原理の問題の気もしますが、
どれが正しいかまたはいずれも正しくないのか、どうでしょうか。
0746名無しさん@そうだ選挙にいこう
垢版 |
2018/06/04(月) 03:37:19.52
>>744
不連続な日数を年月日で表現する共通ルールは存在しない
日をどうするかは用途に応じて自分で決めるしかない物だから、他人に質問しても誰も答えられないよ

いったい何を計算したいの?なんのために年月日に変換?
0748名無しさん@そうだ選挙にいこう
垢版 |
2018/06/04(月) 13:47:51.83
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

ドロップダウンリスト等でリストを表示した後マウスオーバーやクリックで更に下階層のリストを出す事は出来るでしょうか
INDIRECTを使った階層作りはわかったのですが、上記の様な仕様を昔どこかで見た気がしたので質問させていただきました
0750名無しさん@そうだ選挙にいこう
垢版 |
2018/06/04(月) 16:16:19.82
>>743
年金や保険の日数計算かなんか知らんが、そもそも(1)で一日不足してる結果だぞ
5/17と5/18をわざわざ分けて計算してるが、例えばどの年でもいいけど1/1と12/31で
計算してみ364日とかの答えになるから うるう年でようやく365日だ

手抜きしないで、毎年、毎月の日数出した数十年分のカレンダーをExcel内に作って
端数をコツコツチェックしないと、そこまで精密なのは無理なんじゃないか
0754名無しさん@そうだ選挙にいこう
垢版 |
2018/06/05(火) 07:29:39.88
VBAや関数も覚えたいけど、こういう時にはこの関数が使えるという閃きがないから、結局手入力やコピペ作業になってしまう。
やりたい事をググってみるのが閃きを養う近道なのかな?
0756名無しさん@そうだ選挙にいこう
垢版 |
2018/06/05(火) 12:44:56.65
VBAなら簡単だろ?
最初に選んだものに対応した新たなドロップダウンリストを出したり
又は同じドロップダウンリストの要素だけ入換えたり自由にできるじゃん
0760名無しさん@そうだ選挙にいこう
垢版 |
2018/06/05(火) 16:16:16.89
>>759
分かりづらくてすみません。
そうです、test2やtest3の挿入箇所が定まってないため毎回手動でSUMの範囲を設定してるんです...。
なのでtest1〜test2の間やtest2〜test3の間を範囲指定など出来る方法があれば教えて頂きたいです。
0762名無しさん@そうだ選挙にいこう
垢版 |
2018/06/05(火) 16:46:40.49
>>761
「検索値のひらがなの部分は毎回何行あるかわかりません。なので絶対に表に結果が出るtestという項目を参照してtest間の計算をしたい」
と直せばおわかりでしょうか...急いでいたもので稚拙な文で申し訳ない。
0766761
垢版 |
2018/06/05(火) 18:10:52.98
で、「あ〜く」は分かるとして、「け〜そ」はどこに?
作業列使ってsumifが簡単だとは思うけど。
0767名無しさん@そうだ選挙にいこう
垢版 |
2018/06/05(火) 20:08:29.94
sum(offset(a1,match("test1",b1:b10,0),1,match("test2",b1:b10,0))
これじゃダメ?参照は適当に置き換えて。
そもそも行番号の取得ならVBA使えるみたいだしそっちやった方がいい気もするんだけど
0768名無しさん@そうだ選挙にいこう
垢版 |
2018/06/05(火) 20:29:56.00
match関数で検索して複数ヒットしたさいに、ヒットした中の二番目とか三番目と指定する方法ってありますか??
0771名無しさん@そうだ選挙にいこう
垢版 |
2018/06/05(火) 21:08:43.26
>>770
代替方法ありませんか?
0773名無しさん@そうだ選挙にいこう
垢版 |
2018/06/05(火) 22:40:21.92
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

症状:
少し大きめのファイル(1MB)を開き、セルに文字入力してEnter押すと
左下のステータスバーに 「回復中…」と出て緑色のタスクメーターが3秒ほど動いてブックが落ちる
再度起動すると落ちたファイルの自動保存ファイルが開くが更新されていない
開くたびコピーが保存されて増えていく


当該PCはドスパラのノート2016年製
新規作成ファイルやすごい軽いファイルでは起こらない
関数が入っているかいないかは関係ない データ量が大きいと落ちる?
オートオートコンプリートをオフにしても改善されない
他のPC(デスクトップ、エクセル2003)で開くと問題なく入力できる
ノートPCをwindows10の回復機能で完全初期化、エクセルだけをインストールしても症状が治らない

以上、原因が分からず困っております。ノートPCのグラフィックアクセラレータまわりか、windows10アップデートによる不具合あたりかなと思っておりますが
お分かりになる方いらっしゃいますでしょうか?
0776名無しさん@そうだ選挙にいこう
垢版 |
2018/06/05(火) 23:54:39.28
回答探してる時にすごい数式見つけた
=VLOOKUP(A2,INDEX(E2:E13,MATCH(A2,E2:E13,0)+1):F13,2,)
これエラーにならない
MATCH(A2,E2:E13,0)+1):F13
この部分どうなってるんだ???
0777名無しさん@そうだ選挙にいこう
垢版 |
2018/06/05(火) 23:56:10.26
>>773
原因はわからないけど、もう今のPCは32bitアプリと相性が悪いんだと思う
俺も32bitのエクセルとアクセスがガンガン落ちてた。64bitにしたら健康そのものい
0778名無しさん@そうだ選挙にいこう
垢版 |
2018/06/06(水) 02:00:55.45
index match がvlookup より完全一致探索で速くなると思われてるのは、参照先の表が小さくなるから?
0779名無しさん@そうだ選挙にいこう
垢版 |
2018/06/06(水) 02:20:07.20
>>776
MATCHで検索された行以降をVLOOKUPの範囲として指定している。
例えばMATCHで5行目が検索されたとすると、VLOOKUPの第二引数はE7:F13になる。
INDEX(E:E,7):F13 → E7:F13

これを応用して>>758をやると、[検索値がA列、値がB列]
=SUM(INDEX(B:B,MATCH("test1",A:A,0)):INDEX(B:B,MATCH("test2",A:A,0)-1))
0780名無しさん@そうだ選挙にいこう
垢版 |
2018/06/06(水) 07:54:12.56
>>778
vlookup()の第二引数の参照範囲が大きいと、そこに変更がかかると再計算の対象となる
で、大抵はそういう運用がされている
vlookup(a1,$b$1:$z$2000)
とか
単体だけならvlookupの方が早かったんじゃないかな
0785名無しさん@そうだ選挙にいこう
垢版 |
2018/06/07(木) 00:59:52.47
これに驚いているやつってネタだろ。
そうだよな?そうだと言ってくれ…
0786名無しさん@そうだ選挙にいこう
垢版 |
2018/06/07(木) 01:05:29.42
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
アンケート集計でグラフ作っているのですが、データラベルの関係で集計データに単位の"人"を追加したいのですが、どうにかそれを参照してグラフ作る方法ありませんか。
最終的に円グラフでデータラベルをAA人,BB%の形で表示できる方法を探しています。
拙い日本語で申し訳ありませんが、よろしくお願いいたします。
0789787
垢版 |
2018/06/07(木) 05:07:00.57
ありゃ、2010にも表示形式コードの設定があったわ
ま、いっか…
0790786
垢版 |
2018/06/07(木) 06:51:04.99
>>789
ラベルの書式設定で値とパーセント表示させて、その表示形式で誤魔化せないかと悪戦苦闘してました。方法あったんですね…
100項目ぐらいあるのでこれ以上手入れる気力は残ってないですが
0791名無しさん@そうだ選挙にいこう
垢版 |
2018/06/07(木) 12:43:49.60
【1 OSの種類 】Windows7
【2 Excelのバージョン 】Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

複数の人数でゲームをして、
・A行には参加者の名前(30人くらい)
・B行には参加者ごとの点数(0点〜)
を入力します

その中から0点の参加者だけをG行に羅列したい

その場合は関数をどう組み立てれば良いでしょうか?
VLOOKUPだと一番上しか探さないし、順位を付けるにも特定の値だけ抜き出すのはさっぱりで…
COUNTIFなのかMATCHなのかあれこれやっても一人じゃ解決しなくて困り果てました
どなたかご教示お願いします
0792名無しさん@そうだ選挙にいこう
垢版 |
2018/06/07(木) 13:42:00.09
Windows10でExcel2016使っているんですが、Windows10をアプデしてからExcelだけウィンドウ移動が遅延というか反応が遅れてヌルヌル動かないんですが同じような人いますか?

ブラウザやエクスプローラーは、ドラッグしてもマウスのポインタと同じ速度なんですけど、Excelだけもっさりしてます。
■ このスレッドは過去ログ倉庫に格納されています

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