Excel総合相談所 131
■ このスレッドは過去ログ倉庫に格納されています
▼━質問テンプレ (出来れば使ってね) ━━━
【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 >>690
表示→標準
たぶん今は
表示→ページレイアウト
になってる 呼んだー?w
674だけど
俺ひとつ秀でてるのは普通のフリしたおかしい奴を炙り出すこと >>692
674だろうがそうでなかろうがお前が真っ赤になってレスしてることに変わりはないだろうが >>671
だけど、なんかあるか?
そういうもののために関数が用意されているのに、わざわざ作業列は不要と思ったのだが >>697
あんたは何をアンカーつけて突っ込みたかった訳? >>698-699
作業列が必要と思ったけおd,必要なかったの?
その数式示したほうが良かったかも
質問者も回答者も作業列が必要と思ってるひとがいると思う。少なくともおれはそう思ったのであsんたら何いってんの?って突っ込みをした
名誉を守りたいなら、言い訳回答をしたらいいんじゃない? >>700
typo乱れてんなw
飲んでんのか、おっさーんw くだらなさ過ぎて、中の人がどうかすらどうでもいい
とりあえず放置で過ぎ去るのをまってる >>700
は?作業列?
何だよそれ
単にあんたの理解力が足らないだけじゃん
範囲指定だけでいいけど念のために入れたんだよ
単に>=の後にアンパサンドとdatevalue入れるだけ
後ろ"<="&datevalue("2018/5/31")
そんだけ
べつにここで名誉とか関係ないし、あんたの為に数式丸々なんて書かないよ
さも周りもー、とか言って便乗して自己正当化すんな、勘違いしてんのはおっさんだけだよ
ググれば出てくんのに、んで因縁つけて
謝れな
んでお前が主のように振る舞って過疎ってれば楽しいやろ >>701
おう、飲んでるぞ。エクセルなんて飲んでても楽勝やろ
というかそもそも>>666がエクセルの動的な解釈に任せすぎやろ
=COUNTIF(A:A,"2018/05")
この"2018/05"は2018/5/1と解釈される。シリアル値でいう43221
>>705
しらねーよ長文
数式かけばそれで通じるだろ ほんとにExcel好きなんだな、オイラってつくづく思うわ。
会社でもアホみたいにExcelして電車の中でもExcelの動画見てるわ。 【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
教えてください。
あるセルに、=A1-A2
という数式がある場合、A1には数値があっても、A2が空白だと
エラーが出てしまいます。
空白を0と見なす設定があったような気がするのですが、
どうでしょうか? >>708
=sum(a1)-sum(a2)
設定あったっけ? というか、空白なのか0なのかって割と重要だと思うんだけどね CSVで持ってきたデータなんかだと、空欄を0とみなすケースは割とたまによく見かけるんで、まあしょうがないわな Excel上手くなりたいだけど、FOMってオススメですか? 【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)
という計算ができるような関数は何かないでしょうか? 高校生の数学みたいなものを解く、都合の良い関数はありません。 なんでそれをexcelで解こうと思ったのか
パズルとしては面白いかもしれない >>714
作った方が早い
適当だけどこんな感じ?
Function sample(x As Double, y As Double, n As Integer) As Double
    Dim tmp     As Double
    Dim cnt     As Integer
    tmp = 0
    For cnt = 0 To n
        If cnt = 0 Then
            tmp = x
        Else
            tmp = tmp * (x + y * cnt)
        End If
    Next
    sample = tmp
End Function >>714
ごめん 貼りつけミスった
  を消せばいけると思う 何かの言語にしていいなら、N-BASICでも解けるけどな エクセル最強の教科書という本を買おうかと考えてるんですが買わないほうがいいですか? >>720
勉強本の合う/合わないは人による
迷っているなら買うといい
金がないなら、ヤフオクやメルカリで出てる本いっぱい買ってみて、合うやつを選べばいい >>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冊よ
最初は最新の高い奴一冊買うより、ちょっと古めの本何個かかって合うやつを選びながら基礎を学ぶのは悪くないと思う
エクセルってのは間口がものすごく広くて、正解と呼べるものがないんだよね。 わかんないことをグーグルで検索すれば足りるような簡単な作業しかしてないわ バージョン古くても基本は同じだから本体1円+送料250円ぐらいの古本を買えばいい
いくらなんでも300円以下なら4冊ぐらい買えるだろ 「1100」と入力したら「1個100円」と表示されるようにしたいんですが方法はありますか? >>726
セルの書式を
0"個"000"円"
にする 個数と単価を一つのセルに書いちゃうって不思議な管理の仕方だね 結果表示を期待してんのかな?
販売では「3個で1,000円」なんていうのもあることだし、
入力用には単位個数と単価の2列を用意して、入力・Enter後は横移動に設定、
結果用にはもう一列追加して、
=(単位のセル)&"個 "&FIXED(単価のセル,0,FALSE)&"円"
とか? 質問です。
「文字列123m」というA列から数字だけB列に抽出したい場合、どういった数式がいいででしょうか?
ちなみに必ず右側はmなんですが、文字列は1〜3文字、数字は3〜4桁と変化します。
A列の例
東京200m
和歌山1300m
山2000m
ここから数字のみB列に抽出したいのです。 >>730
作業列使わないと現実的じゃないのでC、D、E列を作業列とする
B1 =LEFT(E1,D1-1)
C1 =VALUE(LEFT(RIGHT(A1,5),1))
D1 =4+ISNUMBER(C1)
E1 =RIGHT(A1,D1) >>731
ありがとうございます。
ただ、レイアウトの問題で色々な箇所の参照がズレるので作業列は使わない方法でやりたいのです。 できた。失礼
>>732
文字列は必ず全角?あと最後のmは必ず半角?
たとえばosaka10mとかは無いと決まってる?
どちらにしても長い式になるけど、例えばこう。
=SUBSTITUTE(SUBSTITUTE(A1,LEFT(A1,LENB(A1)-LEN(A1)),""),"m","") ネストしたifを一行で書くとか悪夢でしか無いしな
まずインデントしたソースを書いてから、
改行全部外したexcel版にコンパイルする >>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は使ってません >>736
出来ました!助かりました!ありがとうございます。
mは必ず半角です!
SUBSTITUTE関数なんてあるんですね。勉強になります。
>>741さんもありがとうございました! 【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日です。
これを年月日表記にするにはどうしたらよいでしょうか。
月によって日数が異なりますし、うるう年の関係もあるのでその判定をしないといけないでしょうか。 考えたパターンとしては、
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日となります。
年、月レベルでは差は生じないのですが、
日ではそれぞれ異なってきます。
エクセルどうこうよりも期間計算の原理の問題の気もしますが、
どれが正しいかまたはいずれも正しくないのか、どうでしょうか。 >>744
不連続な日数を年月日で表現する共通ルールは存在しない
日をどうするかは用途に応じて自分で決めるしかない物だから、他人に質問しても誰も答えられないよ
いったい何を計算したいの?なんのために年月日に変換? >>739
Excelの数式は改行やインデントもできるのになんでまたそんな無駄なことしてるんだ?
https://www.relief.jp/docs/000524.html 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2013
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
ドロップダウンリスト等でリストを表示した後マウスオーバーやクリックで更に下階層のリストを出す事は出来るでしょうか
INDIRECTを使った階層作りはわかったのですが、上記の様な仕様を昔どこかで見た気がしたので質問させていただきました >>743
年金や保険の日数計算かなんか知らんが、そもそも(1)で一日不足してる結果だぞ
5/17と5/18をわざわざ分けて計算してるが、例えばどの年でもいいけど1/1と12/31で
計算してみ364日とかの答えになるから うるう年でようやく365日だ
手抜きしないで、毎年、毎月の日数出した数十年分のカレンダーをExcel内に作って
端数をコツコツチェックしないと、そこまで精密なのは無理なんじゃないか >>749
レスありがとうございます
既出だったんですね、、、 >>748
それをやりたくて、ACCESSを覚えたことがある。
ACCESSのVBA使わなくてもクエリーで出来た... VBAや関数も覚えたいけど、こういう時にはこの関数が使えるという閃きがないから、結局手入力やコピペ作業になってしまう。
やりたい事をググってみるのが閃きを養う近道なのかな? >>748
VBA使えばクソめんどくさそうだけど、コンテキストメニューで出来るかと。 VBAなら簡単だろ?
最初に選んだものに対応した新たなドロップダウンリストを出したり
又は同じドロップダウンリストの要素だけ入換えたり自由にできるじゃん 【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
https://i.imgur.com/nlAOaNI.jpg
画像の通りなのですがこんなことは可能なのでしょうか? >>758
日本語が理解できないんだけど、test2の挿入箇所が固定ではなく、その都度test2の行より上の和を出したいと? >>759
分かりづらくてすみません。
そうです、test2やtest3の挿入箇所が定まってないため毎回手動でSUMの範囲を設定してるんです...。
なのでtest1〜test2の間やtest2〜test3の間を範囲指定など出来る方法があれば教えて頂きたいです。 >>760
解読が難しいです。
変動するので変動しない??
かきくけこはどこに? >>761
「検索値のひらがなの部分は毎回何行あるかわかりません。なので絶対に表に結果が出るtestという項目を参照してtest間の計算をしたい」
と直せばおわかりでしょうか...急いでいたもので稚拙な文で申し訳ない。 間の数は変動するってことね?
test1.2.3はいつも同じ表記なの? >>764
そうです、testに入る項目は毎回同じ表記です! で、「あ〜く」は分かるとして、「け〜そ」はどこに?
作業列使ってsumifが簡単だとは思うけど。 sum(offset(a1,match("test1",b1:b10,0),1,match("test2",b1:b10,0))
これじゃダメ?参照は適当に置き換えて。
そもそも行番号の取得ならVBA使えるみたいだしそっちやった方がいい気もするんだけど match関数で検索して複数ヒットしたさいに、ヒットした中の二番目とか三番目と指定する方法ってありますか?? >>766
そこただの間違いです...ごめんなさい。
最初はけ〜そがあったんです...。
>>767
ありがとうございます、お仕事戻ったらこれを元にしてみます! 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可
症状:
少し大きめのファイル(1MB)を開き、セルに文字入力してEnter押すと
左下のステータスバーに 「回復中…」と出て緑色のタスクメーターが3秒ほど動いてブックが落ちる
再度起動すると落ちたファイルの自動保存ファイルが開くが更新されていない
開くたびコピーが保存されて増えていく
当該PCはドスパラのノート2016年製
新規作成ファイルやすごい軽いファイルでは起こらない
関数が入っているかいないかは関係ない データ量が大きいと落ちる?
オートオートコンプリートをオフにしても改善されない
他のPC(デスクトップ、エクセル2003)で開くと問題なく入力できる
ノートPCをwindows10の回復機能で完全初期化、エクセルだけをインストールしても症状が治らない
以上、原因が分からず困っております。ノートPCのグラフィックアクセラレータまわりか、windows10アップデートによる不具合あたりかなと思っておりますが
お分かりになる方いらっしゃいますでしょうか? >>773
流石にexcelのverが古すぎると思うけど。
ファイル形式は?
ウィルスソフト切ってもダメ? >>771
「match 二番目」
とかで検索すれば出てくるよ 回答探してる時にすごい数式見つけた
=VLOOKUP(A2,INDEX(E2:E13,MATCH(A2,E2:E13,0)+1):F13,2,)
これエラーにならない
MATCH(A2,E2:E13,0)+1):F13
この部分どうなってるんだ??? >>773
原因はわからないけど、もう今のPCは32bitアプリと相性が悪いんだと思う
俺も32bitのエクセルとアクセスがガンガン落ちてた。64bitにしたら健康そのものい index match がvlookup より完全一致探索で速くなると思われてるのは、参照先の表が小さくなるから? >>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)) >>778
vlookup()の第二引数の参照範囲が大きいと、そこに変更がかかると再計算の対象となる
で、大抵はそういう運用がされている
vlookup(a1,$b$1:$z$2000)
とか
単体だけならvlookupの方が早かったんじゃないかな 参照返すってマジ!?
これできるならかなり数式の幅が広がるぞ これに驚いているやつってネタだろ。
そうだよな?そうだと言ってくれ… 【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可
アンケート集計でグラフ作っているのですが、データラベルの関係で集計データに単位の"人"を追加したいのですが、どうにかそれを参照してグラフ作る方法ありませんか。
最終的に円グラフでデータラベルをAA人,BB%の形で表示できる方法を探しています。
拙い日本語で申し訳ありませんが、よろしくお願いいたします。 >>786
こういうこと?
https://kokodane.com/2013graph_26.htm
Excel2010のデータラベルの書式設定には「表示形式」設定がないので、
元表の方で表示形式を設定すると、グラフのデータラベルにも反映されます。 ありゃ、2010にも表示形式コードの設定があったわ
ま、いっか… >>789
ラベルの書式設定で値とパーセント表示させて、その表示形式で誤魔化せないかと悪戦苦闘してました。方法あったんですね…
100項目ぐらいあるのでこれ以上手入れる気力は残ってないですが 【1 OSの種類 】Windows7
【2 Excelのバージョン 】Excel2010
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
複数の人数でゲームをして、
・A行には参加者の名前(30人くらい)
・B行には参加者ごとの点数(0点〜)
を入力します
その中から0点の参加者だけをG行に羅列したい
その場合は関数をどう組み立てれば良いでしょうか?
VLOOKUPだと一番上しか探さないし、順位を付けるにも特定の値だけ抜き出すのはさっぱりで…
COUNTIFなのかMATCHなのかあれこれやっても一人じゃ解決しなくて困り果てました
どなたかご教示お願いします Windows10でExcel2016使っているんですが、Windows10をアプデしてからExcelだけウィンドウ移動が遅延というか反応が遅れてヌルヌル動かないんですが同じような人いますか?
ブラウザやエクスプローラーは、ドラッグしてもマウスのポインタと同じ速度なんですけど、Excelだけもっさりしてます。 ■ このスレッドは過去ログ倉庫に格納されています